Bump to containers/buildah 1.9.2
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
		
							parent
							
								
									3fcf346890
								
							
						
					
					
						commit
						c88022589a
					
				|  | @ -404,7 +404,6 @@ func buildFlagsWrapperToOptions(c *cobra.Command, contextDir string, flags *buil | ||||||
| 		AddCapabilities: flags.CapAdd, | 		AddCapabilities: flags.CapAdd, | ||||||
| 		AdditionalTags:  tags, | 		AdditionalTags:  tags, | ||||||
| 		Annotations:     flags.Annotation, | 		Annotations:     flags.Annotation, | ||||||
| 		Architecture:    flags.Arch, |  | ||||||
| 		Args:            args, | 		Args:            args, | ||||||
| 		BlobDirectory:   flags.BlobCache, | 		BlobDirectory:   flags.BlobCache, | ||||||
| 		CNIConfigDir:    flags.CNIConfigDir, | 		CNIConfigDir:    flags.CNIConfigDir, | ||||||
|  | @ -439,7 +438,6 @@ func buildFlagsWrapperToOptions(c *cobra.Command, contextDir string, flags *buil | ||||||
| 		Layers:                  flags.Layers, | 		Layers:                  flags.Layers, | ||||||
| 		NamespaceOptions:        nsValues, | 		NamespaceOptions:        nsValues, | ||||||
| 		NoCache:                 flags.NoCache, | 		NoCache:                 flags.NoCache, | ||||||
| 		OS:                      flags.OS, |  | ||||||
| 		Out:                     stdout, | 		Out:                     stdout, | ||||||
| 		Output:                  output, | 		Output:                  output, | ||||||
| 		OutputFormat:            format, | 		OutputFormat:            format, | ||||||
|  |  | ||||||
|  | @ -388,6 +388,11 @@ Adjust the logging level up or down.  Valid option values range from -2 to 3, | ||||||
| with 3 being roughly equivalent to using the global *--debug* option, and | with 3 being roughly equivalent to using the global *--debug* option, and | ||||||
| values below 0 omitting even error messages which accompany fatal errors. | values below 0 omitting even error messages which accompany fatal errors. | ||||||
| 
 | 
 | ||||||
|  | #### **--manifest** "manifest" | ||||||
|  | 
 | ||||||
|  | Name of the manifest list to which the image will be added. Creates the manifest list | ||||||
|  | if it does not exist. This option is useful for building multi architecture images. | ||||||
|  | 
 | ||||||
| #### **--memory**, **-m**=*LIMIT* | #### **--memory**, **-m**=*LIMIT* | ||||||
| Memory limit (format: <number>[<unit>], where unit = b (bytes), k (kilobytes), | Memory limit (format: <number>[<unit>], where unit = b (bytes), k (kilobytes), | ||||||
| m (megabytes), or g (gigabytes)) | m (megabytes), or g (gigabytes)) | ||||||
|  | @ -667,6 +672,10 @@ that the UTS namespace in which `podman` itself is being run should be reused, | ||||||
| or it can be the path to a UTS namespace which is already in use by another | or it can be the path to a UTS namespace which is already in use by another | ||||||
| process. | process. | ||||||
| 
 | 
 | ||||||
|  | #### **--variant**="" | ||||||
|  | 
 | ||||||
|  | Set the architecture variant of the image to be pulled. | ||||||
|  | 
 | ||||||
| #### **--volume**, **-v**[=*[HOST-DIR:CONTAINER-DIR[:OPTIONS]]*] | #### **--volume**, **-v**[=*[HOST-DIR:CONTAINER-DIR[:OPTIONS]]*] | ||||||
| 
 | 
 | ||||||
|    Create a bind mount. If you specify, ` -v /HOST-DIR:/CONTAINER-DIR`, Podman |    Create a bind mount. If you specify, ` -v /HOST-DIR:/CONTAINER-DIR`, Podman | ||||||
|  | @ -811,6 +820,12 @@ $ podman build --layers --force-rm -t imageName . | ||||||
| $ podman build --no-cache --rm=false -t imageName . | $ podman build --no-cache --rm=false -t imageName . | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | ### Building an multi-architecture image using a --manifest option (Requires emulation software) | ||||||
|  | 
 | ||||||
|  | podman build --arch arm --manifest myimage /tmp/mysrc | ||||||
|  | podman build --arch amd64 --manifest myimage /tmp/mysrc | ||||||
|  | podman build --arch s390x --manifest myimage /tmp/mysrc | ||||||
|  | 
 | ||||||
| ### Building an image using a URL, Git repo, or archive | ### Building an image using a URL, Git repo, or archive | ||||||
| 
 | 
 | ||||||
|   The build context directory can be specified as a URL to a Containerfile, a |   The build context directory can be specified as a URL to a Containerfile, a | ||||||
|  |  | ||||||
							
								
								
									
										6
									
								
								go.mod
								
								
								
								
							
							
						
						
									
										6
									
								
								go.mod
								
								
								
								
							|  | @ -10,7 +10,7 @@ require ( | ||||||
| 	github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd // indirect | 	github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd // indirect | ||||||
| 	github.com/containernetworking/cni v0.8.0 | 	github.com/containernetworking/cni v0.8.0 | ||||||
| 	github.com/containernetworking/plugins v0.9.0 | 	github.com/containernetworking/plugins v0.9.0 | ||||||
| 	github.com/containers/buildah v1.18.1-0.20201222143428-b9fdee076426 | 	github.com/containers/buildah v1.19.2 | ||||||
| 	github.com/containers/common v0.33.1 | 	github.com/containers/common v0.33.1 | ||||||
| 	github.com/containers/conmon v2.0.20+incompatible | 	github.com/containers/conmon v2.0.20+incompatible | ||||||
| 	github.com/containers/image/v5 v5.9.0 | 	github.com/containers/image/v5 v5.9.0 | ||||||
|  | @ -21,7 +21,7 @@ require ( | ||||||
| 	github.com/cyphar/filepath-securejoin v0.2.2 | 	github.com/cyphar/filepath-securejoin v0.2.2 | ||||||
| 	github.com/davecgh/go-spew v1.1.1 | 	github.com/davecgh/go-spew v1.1.1 | ||||||
| 	github.com/docker/distribution v2.7.1+incompatible | 	github.com/docker/distribution v2.7.1+incompatible | ||||||
| 	github.com/docker/docker v17.12.0-ce-rc1.0.20201020191947-73dc6a680cdd+incompatible | 	github.com/docker/docker v20.10.0-beta1.0.20201113105859-b6bfff2a628f+incompatible | ||||||
| 	github.com/docker/go-connections v0.4.0 | 	github.com/docker/go-connections v0.4.0 | ||||||
| 	github.com/docker/go-plugins-helpers v0.0.0-20200102110956-c9a8a2d92ccc | 	github.com/docker/go-plugins-helpers v0.0.0-20200102110956-c9a8a2d92ccc | ||||||
| 	github.com/docker/go-units v0.4.0 | 	github.com/docker/go-units v0.4.0 | ||||||
|  | @ -36,7 +36,7 @@ require ( | ||||||
| 	github.com/hpcloud/tail v1.0.0 | 	github.com/hpcloud/tail v1.0.0 | ||||||
| 	github.com/json-iterator/go v1.1.10 | 	github.com/json-iterator/go v1.1.10 | ||||||
| 	github.com/kr/text v0.2.0 // indirect | 	github.com/kr/text v0.2.0 // indirect | ||||||
| 	github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2 | 	github.com/moby/term v0.0.0-20201110203204-bea5bbe245bf | ||||||
| 	github.com/mrunalp/fileutils v0.0.0-20171103030105-7d4729fb3618 | 	github.com/mrunalp/fileutils v0.0.0-20171103030105-7d4729fb3618 | ||||||
| 	github.com/onsi/ginkgo v1.14.2 | 	github.com/onsi/ginkgo v1.14.2 | ||||||
| 	github.com/onsi/gomega v1.10.4 | 	github.com/onsi/gomega v1.10.4 | ||||||
|  |  | ||||||
							
								
								
									
										18
									
								
								go.sum
								
								
								
								
							
							
						
						
									
										18
									
								
								go.sum
								
								
								
								
							|  | @ -23,7 +23,6 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym | ||||||
| github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= | github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= | ||||||
| github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= | github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= | ||||||
| github.com/Microsoft/go-winio v0.4.15-0.20200113171025-3fe6c5262873/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= | github.com/Microsoft/go-winio v0.4.15-0.20200113171025-3fe6c5262873/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= | ||||||
| github.com/Microsoft/go-winio v0.4.15/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= |  | ||||||
| github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331 h1:3YnB7Hpmh1lPecPE8doMOtYCrMdrpedZOvxfuNES/Vk= | github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331 h1:3YnB7Hpmh1lPecPE8doMOtYCrMdrpedZOvxfuNES/Vk= | ||||||
| github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= | github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= | ||||||
| github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= | github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= | ||||||
|  | @ -96,9 +95,8 @@ github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ | ||||||
| github.com/containernetworking/plugins v0.8.7/go.mod h1:R7lXeZaBzpfqapcAbHRW8/CYwm0dHzbz0XEjofx0uB0= | github.com/containernetworking/plugins v0.8.7/go.mod h1:R7lXeZaBzpfqapcAbHRW8/CYwm0dHzbz0XEjofx0uB0= | ||||||
| github.com/containernetworking/plugins v0.9.0 h1:c+1gegKhR7+d0Caum9pEHugZlyhXPOG6v3V6xJgIGCI= | github.com/containernetworking/plugins v0.9.0 h1:c+1gegKhR7+d0Caum9pEHugZlyhXPOG6v3V6xJgIGCI= | ||||||
| github.com/containernetworking/plugins v0.9.0/go.mod h1:dbWv4dI0QrBGuVgj+TuVQ6wJRZVOhrCQj91YyC92sxg= | github.com/containernetworking/plugins v0.9.0/go.mod h1:dbWv4dI0QrBGuVgj+TuVQ6wJRZVOhrCQj91YyC92sxg= | ||||||
| github.com/containers/buildah v1.18.1-0.20201222143428-b9fdee076426 h1:hgNSbIO7KUJ9jHSEHwM5D2qii5t/5f2yfxZepJFYm18= | github.com/containers/buildah v1.19.2 h1:1/ePUtinuqTPSwXiZXPyBJmik688l1e4SUZsoOv716w= | ||||||
| github.com/containers/buildah v1.18.1-0.20201222143428-b9fdee076426/go.mod h1:AM7JcGaUtTJgR6fZL2zBg5PCSCSDiX/sNdMSyrkoJ10= | github.com/containers/buildah v1.19.2/go.mod h1:zUMKdtZu4rs6lgKHheKwo+wBlh5ZL+1+/5/IsaNTD74= | ||||||
| github.com/containers/common v0.31.1/go.mod h1:Fehe82hQfJQvDspnRrV9rcdAWG3IalNHEt0F6QWNBHQ= |  | ||||||
| github.com/containers/common v0.33.1 h1:XpDiq8Cta8+u1s4kpYSEWdB140ZmqgyIXfWkLqKx3z0= | github.com/containers/common v0.33.1 h1:XpDiq8Cta8+u1s4kpYSEWdB140ZmqgyIXfWkLqKx3z0= | ||||||
| github.com/containers/common v0.33.1/go.mod h1:mjDo/NKeweL/onaspLhZ38WnHXaYmrELHclIdvSnYpY= | github.com/containers/common v0.33.1/go.mod h1:mjDo/NKeweL/onaspLhZ38WnHXaYmrELHclIdvSnYpY= | ||||||
| github.com/containers/conmon v2.0.20+incompatible h1:YbCVSFSCqFjjVwHTPINGdMX1F6JXHGTUje2ZYobNrkg= | github.com/containers/conmon v2.0.20+incompatible h1:YbCVSFSCqFjjVwHTPINGdMX1F6JXHGTUje2ZYobNrkg= | ||||||
|  | @ -112,7 +110,6 @@ github.com/containers/ocicrypt v1.0.3/go.mod h1:CUBa+8MRNL/VkpxYIpaMtgn1WgXGyvPQ | ||||||
| github.com/containers/psgo v1.5.2 h1:3aoozst/GIwsrr/5jnFy3FrJay98uujPCu9lTuSZ/Cw= | github.com/containers/psgo v1.5.2 h1:3aoozst/GIwsrr/5jnFy3FrJay98uujPCu9lTuSZ/Cw= | ||||||
| github.com/containers/psgo v1.5.2/go.mod h1:2ubh0SsreMZjSXW1Hif58JrEcFudQyIy9EzPUWfawVU= | github.com/containers/psgo v1.5.2/go.mod h1:2ubh0SsreMZjSXW1Hif58JrEcFudQyIy9EzPUWfawVU= | ||||||
| github.com/containers/storage v1.23.7/go.mod h1:cUT2zHjtx+WlVri30obWmM2gpqpi8jfPsmIzP1TVpEI= | github.com/containers/storage v1.23.7/go.mod h1:cUT2zHjtx+WlVri30obWmM2gpqpi8jfPsmIzP1TVpEI= | ||||||
| github.com/containers/storage v1.24.3/go.mod h1:0xJL06Dmd+ZYXIUdnBUPN0JnhHGgwMkLvnnAonJfWJU= |  | ||||||
| github.com/containers/storage v1.24.5 h1:BusfdU0rCS2/Daa/DPw+0iLfGRlYA7UVF7D0el3N7Vk= | github.com/containers/storage v1.24.5 h1:BusfdU0rCS2/Daa/DPw+0iLfGRlYA7UVF7D0el3N7Vk= | ||||||
| github.com/containers/storage v1.24.5/go.mod h1:YC+2pY8SkfEAcZkwycxYbpK8EiRbx5soPPwz9dxe4IQ= | github.com/containers/storage v1.24.5/go.mod h1:YC+2pY8SkfEAcZkwycxYbpK8EiRbx5soPPwz9dxe4IQ= | ||||||
| github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= | github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= | ||||||
|  | @ -131,6 +128,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:ma | ||||||
| github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= | github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= | ||||||
| github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= | github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= | ||||||
| github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= | github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= | ||||||
|  | github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= | ||||||
|  | github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= | ||||||
| github.com/cri-o/ocicni v0.2.1-0.20201204103948-b6cbe99b9756 h1:4T3rzrCSvMgVTR+fm526d+Ed0BurAHGjOaaNFOVoK6E= | github.com/cri-o/ocicni v0.2.1-0.20201204103948-b6cbe99b9756 h1:4T3rzrCSvMgVTR+fm526d+Ed0BurAHGjOaaNFOVoK6E= | ||||||
| github.com/cri-o/ocicni v0.2.1-0.20201204103948-b6cbe99b9756/go.mod h1:vingr1ztOAzP2WyTgGbpMov9dFhbjNxdLtDv0+PhAvY= | github.com/cri-o/ocicni v0.2.1-0.20201204103948-b6cbe99b9756/go.mod h1:vingr1ztOAzP2WyTgGbpMov9dFhbjNxdLtDv0+PhAvY= | ||||||
| github.com/cyphar/filepath-securejoin v0.2.2 h1:jCwT2GTP+PY5nBz3c/YL5PAIbusElVrPujOBSCj8xRg= | github.com/cyphar/filepath-securejoin v0.2.2 h1:jCwT2GTP+PY5nBz3c/YL5PAIbusElVrPujOBSCj8xRg= | ||||||
|  | @ -151,6 +150,8 @@ github.com/docker/docker v1.4.2-0.20191219165747-a9416c67da9f/go.mod h1:eEKB0N0r | ||||||
| github.com/docker/docker v17.12.0-ce-rc1.0.20200505174321-1655290016ac+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= | github.com/docker/docker v17.12.0-ce-rc1.0.20200505174321-1655290016ac+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= | ||||||
| github.com/docker/docker v17.12.0-ce-rc1.0.20201020191947-73dc6a680cdd+incompatible h1:+0LETFJcCLdIqdtEbVWF1JIxATqM15Y4sLiMcWOYq2U= | github.com/docker/docker v17.12.0-ce-rc1.0.20201020191947-73dc6a680cdd+incompatible h1:+0LETFJcCLdIqdtEbVWF1JIxATqM15Y4sLiMcWOYq2U= | ||||||
| github.com/docker/docker v17.12.0-ce-rc1.0.20201020191947-73dc6a680cdd+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= | github.com/docker/docker v17.12.0-ce-rc1.0.20201020191947-73dc6a680cdd+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= | ||||||
|  | github.com/docker/docker v20.10.0-beta1.0.20201113105859-b6bfff2a628f+incompatible h1:lwpV3629md5omgAKjxPWX17shI7vMRpE3nyb9WHn8pA= | ||||||
|  | github.com/docker/docker v20.10.0-beta1.0.20201113105859-b6bfff2a628f+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= | ||||||
| github.com/docker/docker-credential-helpers v0.6.3 h1:zI2p9+1NQYdnG6sMU26EX4aVGlqbInSQxQXLvzJ4RPQ= | github.com/docker/docker-credential-helpers v0.6.3 h1:zI2p9+1NQYdnG6sMU26EX4aVGlqbInSQxQXLvzJ4RPQ= | ||||||
| github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= | github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= | ||||||
| github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= | github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= | ||||||
|  | @ -214,6 +215,7 @@ github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7a | ||||||
| github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= | github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= | ||||||
| github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls= | github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls= | ||||||
| github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= | github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= | ||||||
|  | github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= | ||||||
| github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= | github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= | ||||||
| github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= | github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= | ||||||
| github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= | github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= | ||||||
|  | @ -381,8 +383,9 @@ github.com/moby/sys/mountinfo v0.1.3/go.mod h1:w2t2Avltqx8vE7gX5l+QiBKxODu2TX0+S | ||||||
| github.com/moby/sys/mountinfo v0.4.0 h1:1KInV3Huv18akCu58V7lzNlt+jFmqlu1EaErnEHE/VM= | github.com/moby/sys/mountinfo v0.4.0 h1:1KInV3Huv18akCu58V7lzNlt+jFmqlu1EaErnEHE/VM= | ||||||
| github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= | github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= | ||||||
| github.com/moby/term v0.0.0-20200429084858-129dac9f73f6/go.mod h1:or9wGItza1sRcM4Wd3dIv8DsFHYQuFsMHEdxUIlUxms= | github.com/moby/term v0.0.0-20200429084858-129dac9f73f6/go.mod h1:or9wGItza1sRcM4Wd3dIv8DsFHYQuFsMHEdxUIlUxms= | ||||||
| github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2 h1:SPoLlS9qUUnXcIY4pvA4CTwYjk0Is5f4UPEkeESr53k= |  | ||||||
| github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2/go.mod h1:TjQg8pa4iejrUrjiz0MCtMV38jdMNW4doKSiBrEvCQQ= | github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2/go.mod h1:TjQg8pa4iejrUrjiz0MCtMV38jdMNW4doKSiBrEvCQQ= | ||||||
|  | github.com/moby/term v0.0.0-20201110203204-bea5bbe245bf h1:Un6PNx5oMK6CCwO3QTUyPiK2mtZnPrpDl5UnZ64eCkw= | ||||||
|  | github.com/moby/term v0.0.0-20201110203204-bea5bbe245bf/go.mod h1:FBS0z0QWA44HXygs7VXDUOGoN/1TV3RuWkLO04am3wc= | ||||||
| github.com/moby/vpnkit v0.4.0/go.mod h1:KyjUrL9cb6ZSNNAUwZfqRjhwwgJ3BJN+kXh0t43WTUQ= | github.com/moby/vpnkit v0.4.0/go.mod h1:KyjUrL9cb6ZSNNAUwZfqRjhwwgJ3BJN+kXh0t43WTUQ= | ||||||
| github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= | github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= | ||||||
| github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= | github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= | ||||||
|  | @ -537,7 +540,6 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf | ||||||
| github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | ||||||
| github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= | github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= | ||||||
| github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= | github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= | ||||||
| github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= |  | ||||||
| github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||||||
| github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= | github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= | ||||||
| github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||||||
|  | @ -710,7 +712,6 @@ golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7w | ||||||
| golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= |  | ||||||
| golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3 h1:kzM6+9dur93BcC2kVlYl34cHU+TYZLanmpSJHVMmL64= | golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3 h1:kzM6+9dur93BcC2kVlYl34cHU+TYZLanmpSJHVMmL64= | ||||||
|  | @ -780,6 +781,7 @@ google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ij | ||||||
| google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= | google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= | ||||||
| google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= | google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= | ||||||
| google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= | google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= | ||||||
|  | google.golang.org/grpc v1.27.0 h1:rRYRFMVgRv6E0D70Skyfsr28tDXIuuPZyWGMPdMcnXg= | ||||||
| google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= | google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= | ||||||
| google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= | google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= | ||||||
| google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= | google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ env: | ||||||
|     #### Global variables used for all tasks |     #### Global variables used for all tasks | ||||||
|     #### |     #### | ||||||
|     # Name of the ultimate destination branch for this CI run, PR or post-merge. |     # Name of the ultimate destination branch for this CI run, PR or post-merge. | ||||||
|     DEST_BRANCH: "master" |     DEST_BRANCH: "release-1.19" | ||||||
|     GOPATH: "/var/tmp/go" |     GOPATH: "/var/tmp/go" | ||||||
|     GOSRC: "${GOPATH}/src/github.com/containers/buildah" |     GOSRC: "${GOPATH}/src/github.com/containers/buildah" | ||||||
|     # Overrides default location (/tmp/cirrus) for repo clone |     # Overrides default location (/tmp/cirrus) for repo clone | ||||||
|  | @ -196,6 +196,7 @@ gce_instance: | ||||||
|         buildah_version_script: '$GOSRC/$SCRIPT_BASE/logcollector.sh buildah_version' |         buildah_version_script: '$GOSRC/$SCRIPT_BASE/logcollector.sh buildah_version' | ||||||
|         buildah_info_script: '$GOSRC/$SCRIPT_BASE/logcollector.sh buildah_info' |         buildah_info_script: '$GOSRC/$SCRIPT_BASE/logcollector.sh buildah_info' | ||||||
|         package_versions_script: '$GOSRC/$SCRIPT_BASE/logcollector.sh packages' |         package_versions_script: '$GOSRC/$SCRIPT_BASE/logcollector.sh packages' | ||||||
|  |         golang_version_script: '$GOSRC/$SCRIPT_BASE/logcollector.sh golang' | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 'cirrus-ci/required/in_podman_task': | 'cirrus-ci/required/in_podman_task': | ||||||
|  |  | ||||||
|  | @ -2,6 +2,65 @@ | ||||||
| 
 | 
 | ||||||
| # Changelog | # Changelog | ||||||
| 
 | 
 | ||||||
|  | ## v1.19.0 (2021-01-08) | ||||||
|  |     Update vendor of containers/storage and containers/common | ||||||
|  |     Buildah inspect should be able to inspect manifests | ||||||
|  |     Make buildah push support pushing manifests lists and digests | ||||||
|  |     Fix handling of TMPDIR environment variable | ||||||
|  |     Add support for --manifest flags | ||||||
|  |     Upper directory should match mode of destination directory | ||||||
|  |     Only grab the OS, Arch if the user actually specified them | ||||||
|  |     Use --arch and --os and --variant options to select architecture and os | ||||||
|  |     Cirrus: Track libseccomp and golang version | ||||||
|  |     copier.PutOptions: add an "IgnoreDevices" flag | ||||||
|  |     fix: `rmi --prune` when parent image is in store. | ||||||
|  |     build(deps): bump github.com/containers/storage from 1.24.3 to 1.24.4 | ||||||
|  |     build(deps): bump github.com/containers/common from 0.31.1 to 0.31.2 | ||||||
|  |     Allow users to specify stdin into containers | ||||||
|  |     Drop log message on failure to mount on /sys file systems to info | ||||||
|  |     Spelling | ||||||
|  |     SELinux no longer requires a tag. | ||||||
|  |     build(deps): bump github.com/opencontainers/selinux from 1.6.0 to 1.8.0 | ||||||
|  |     build(deps): bump github.com/containers/common from 0.31.0 to 0.31.1 | ||||||
|  |     Update nix pin with `make nixpkgs` | ||||||
|  |     Switch references of /var/run -> /run | ||||||
|  |     Allow FROM to be overriden with from option | ||||||
|  |     copier: don't assume we can chroot() on Unixy systems | ||||||
|  |     copier: add PutOptions.NoOverwriteDirNonDir, Get/PutOptions.Rename | ||||||
|  |     copier: handle replacing directories with not-directories | ||||||
|  |     copier: Put: skip entries with zero-length names | ||||||
|  |     build(deps): bump github.com/containers/storage from 1.24.2 to 1.24.3 | ||||||
|  |     Add U volume flag to chown source volumes | ||||||
|  |     Turn off PRIOR_UBUNTU Test until vm is updated | ||||||
|  |     pkg, cli: rootless uses correct isolation | ||||||
|  |     build(deps): bump github.com/onsi/gomega from 1.10.3 to 1.10.4 | ||||||
|  |     update installation doc to reflect current status | ||||||
|  |     Move away from using docker.io | ||||||
|  |     enable short-name aliasing | ||||||
|  |     build(deps): bump github.com/containers/storage from 1.24.1 to 1.24.2 | ||||||
|  |     build(deps): bump github.com/containers/common from 0.30.0 to 0.31.0 | ||||||
|  |     Throw errors when using bogus --network flags | ||||||
|  |     pkg/supplemented test: replace our null blobinfocache | ||||||
|  |     build(deps): bump github.com/containers/common from 0.29.0 to 0.30.0 | ||||||
|  |     inserts forgotten quotation mark | ||||||
|  |     Not prefer use local image create/add manifest | ||||||
|  |     Add container information to .containerenv | ||||||
|  |     Add --ignorefile flag to use alternate .dockerignore flags | ||||||
|  |     Add a source debug build | ||||||
|  |     Fix crash on invalid filter commands | ||||||
|  |     build(deps): bump github.com/containers/common from 0.27.0 to 0.29.0 | ||||||
|  |     Switch to using containers/common pkg's | ||||||
|  |     fix: non-portable shebang #2812 | ||||||
|  |     Remove copy/paste errors that leaked `Podman` into man pages. | ||||||
|  |     Add suggests cpp to spec file | ||||||
|  |     Apply suggestions from code review | ||||||
|  |     update docs for debian testing and unstable | ||||||
|  |     imagebuildah: disable pseudo-terminals for RUN | ||||||
|  |     Compute diffID for mapped-layer at creating image source | ||||||
|  |     intermediateImageExists: ignore images whose history we can't read | ||||||
|  |     Bump to v1.19.0-dev | ||||||
|  |     build(deps): bump github.com/containers/common from 0.26.3 to 0.27.0 | ||||||
|  | 
 | ||||||
| ## v1.18.0 (2020-11-16) | ## v1.18.0 (2020-11-16) | ||||||
|     Fix testing error caused by simultanious merge |     Fix testing error caused by simultanious merge | ||||||
|     Vendor in containers/storage v1.24.0 |     Vendor in containers/storage v1.24.0 | ||||||
|  |  | ||||||
|  | @ -37,7 +37,7 @@ Once you have decided to contribute to Buildah by working on an issue, check our | ||||||
| backlog of [open issues](https://github.com/containers/buildah/issues) looking | backlog of [open issues](https://github.com/containers/buildah/issues) looking | ||||||
| for any that do not have an "In Progress" label attached to it.  Often issues | for any that do not have an "In Progress" label attached to it.  Often issues | ||||||
| will be assigned to someone, to be worked on at a later time.  If you have the | will be assigned to someone, to be worked on at a later time.  If you have the | ||||||
| time to work on the issue now add yourself as an assignee, and set the | time to work on the issue now, add yourself as an assignee, and set the | ||||||
| "In Progress" label if you’re a member of the “Containers” GitHub organization. | "In Progress" label if you’re a member of the “Containers” GitHub organization. | ||||||
| If you can not set the label, just  add a quick comment in the issue asking that | If you can not set the label, just  add a quick comment in the issue asking that | ||||||
| the “In Progress” label be set and a member will do so for you. | the “In Progress” label be set and a member will do so for you. | ||||||
|  |  | ||||||
|  | @ -20,6 +20,7 @@ import ( | ||||||
| 	"github.com/containers/storage/pkg/fileutils" | 	"github.com/containers/storage/pkg/fileutils" | ||||||
| 	"github.com/containers/storage/pkg/idtools" | 	"github.com/containers/storage/pkg/idtools" | ||||||
| 	"github.com/hashicorp/go-multierror" | 	"github.com/hashicorp/go-multierror" | ||||||
|  | 	rsystem "github.com/opencontainers/runc/libcontainer/system" | ||||||
| 	"github.com/opencontainers/runtime-spec/specs-go" | 	"github.com/opencontainers/runtime-spec/specs-go" | ||||||
| 	"github.com/pkg/errors" | 	"github.com/pkg/errors" | ||||||
| 	"github.com/sirupsen/logrus" | 	"github.com/sirupsen/logrus" | ||||||
|  | @ -347,12 +348,13 @@ func (b *Builder) Add(destination string, extract bool, options AddAndCopyOption | ||||||
| 					_, putErr = io.Copy(hasher, pipeReader) | 					_, putErr = io.Copy(hasher, pipeReader) | ||||||
| 				} else { | 				} else { | ||||||
| 					putOptions := copier.PutOptions{ | 					putOptions := copier.PutOptions{ | ||||||
| 						UIDMap:     destUIDMap, | 						UIDMap:        destUIDMap, | ||||||
| 						GIDMap:     destGIDMap, | 						GIDMap:        destGIDMap, | ||||||
| 						ChownDirs:  nil, | 						ChownDirs:     nil, | ||||||
| 						ChmodDirs:  nil, | 						ChmodDirs:     nil, | ||||||
| 						ChownFiles: nil, | 						ChownFiles:    nil, | ||||||
| 						ChmodFiles: nil, | 						ChmodFiles:    nil, | ||||||
|  | 						IgnoreDevices: rsystem.RunningInUserNS(), | ||||||
| 					} | 					} | ||||||
| 					putErr = copier.Put(mountPoint, extractDirectory, putOptions, io.TeeReader(pipeReader, hasher)) | 					putErr = copier.Put(mountPoint, extractDirectory, putOptions, io.TeeReader(pipeReader, hasher)) | ||||||
| 				} | 				} | ||||||
|  | @ -482,6 +484,7 @@ func (b *Builder) Add(destination string, extract bool, options AddAndCopyOption | ||||||
| 						ChmodDirs:       nil, | 						ChmodDirs:       nil, | ||||||
| 						ChownFiles:      nil, | 						ChownFiles:      nil, | ||||||
| 						ChmodFiles:      nil, | 						ChmodFiles:      nil, | ||||||
|  | 						IgnoreDevices:   rsystem.RunningInUserNS(), | ||||||
| 					} | 					} | ||||||
| 					putErr = copier.Put(mountPoint, extractDirectory, putOptions, io.TeeReader(pipeReader, hasher)) | 					putErr = copier.Put(mountPoint, extractDirectory, putOptions, io.TeeReader(pipeReader, hasher)) | ||||||
| 				} | 				} | ||||||
|  |  | ||||||
|  | @ -28,7 +28,7 @@ const ( | ||||||
| 	Package = "buildah" | 	Package = "buildah" | ||||||
| 	// Version for the Package.  Bump version in contrib/rpm/buildah.spec
 | 	// Version for the Package.  Bump version in contrib/rpm/buildah.spec
 | ||||||
| 	// too.
 | 	// too.
 | ||||||
| 	Version = "1.19.0-dev" | 	Version = "1.19.2" | ||||||
| 	// The value we use to identify what type of information, currently a
 | 	// The value we use to identify what type of information, currently a
 | ||||||
| 	// serialized Builder structure, we are using as per-container state.
 | 	// serialized Builder structure, we are using as per-container state.
 | ||||||
| 	// This should only be changed when we make incompatible changes to
 | 	// This should only be changed when we make incompatible changes to
 | ||||||
|  |  | ||||||
|  | @ -1,3 +1,62 @@ | ||||||
|  | - Changelog for v1.19.0 (2021-01-08) | ||||||
|  |   * Update vendor of containers/storage and containers/common | ||||||
|  |   * Buildah inspect should be able to inspect manifests | ||||||
|  |   * Make buildah push support pushing manifests lists and digests | ||||||
|  |   * Fix handling of TMPDIR environment variable | ||||||
|  |   * Add support for --manifest flags | ||||||
|  |   * Upper directory should match mode of destination directory | ||||||
|  |   * Only grab the OS, Arch if the user actually specified them | ||||||
|  |   * Use --arch and --os and --variant options to select architecture and os | ||||||
|  |   * Cirrus: Track libseccomp and golang version | ||||||
|  |   * copier.PutOptions: add an "IgnoreDevices" flag | ||||||
|  |   * fix: `rmi --prune` when parent image is in store. | ||||||
|  |   * build(deps): bump github.com/containers/storage from 1.24.3 to 1.24.4 | ||||||
|  |   * build(deps): bump github.com/containers/common from 0.31.1 to 0.31.2 | ||||||
|  |   * Allow users to specify stdin into containers | ||||||
|  |   * Drop log message on failure to mount on /sys file systems to info | ||||||
|  |   * Spelling | ||||||
|  |   * SELinux no longer requires a tag. | ||||||
|  |   * build(deps): bump github.com/opencontainers/selinux from 1.6.0 to 1.8.0 | ||||||
|  |   * build(deps): bump github.com/containers/common from 0.31.0 to 0.31.1 | ||||||
|  |   * Update nix pin with `make nixpkgs` | ||||||
|  |   * Switch references of /var/run -> /run | ||||||
|  |   * Allow FROM to be overriden with from option | ||||||
|  |   * copier: don't assume we can chroot() on Unixy systems | ||||||
|  |   * copier: add PutOptions.NoOverwriteDirNonDir, Get/PutOptions.Rename | ||||||
|  |   * copier: handle replacing directories with not-directories | ||||||
|  |   * copier: Put: skip entries with zero-length names | ||||||
|  |   * build(deps): bump github.com/containers/storage from 1.24.2 to 1.24.3 | ||||||
|  |   * Add U volume flag to chown source volumes | ||||||
|  |   * Turn off PRIOR_UBUNTU Test until vm is updated | ||||||
|  |   * pkg, cli: rootless uses correct isolation | ||||||
|  |   * build(deps): bump github.com/onsi/gomega from 1.10.3 to 1.10.4 | ||||||
|  |   * update installation doc to reflect current status | ||||||
|  |   * Move away from using docker.io | ||||||
|  |   * enable short-name aliasing | ||||||
|  |   * build(deps): bump github.com/containers/storage from 1.24.1 to 1.24.2 | ||||||
|  |   * build(deps): bump github.com/containers/common from 0.30.0 to 0.31.0 | ||||||
|  |   * Throw errors when using bogus --network flags | ||||||
|  |   * pkg/supplemented test: replace our null blobinfocache | ||||||
|  |   * build(deps): bump github.com/containers/common from 0.29.0 to 0.30.0 | ||||||
|  |   * inserts forgotten quotation mark | ||||||
|  |   * Not prefer use local image create/add manifest | ||||||
|  |   * Add container information to .containerenv | ||||||
|  |   * Add --ignorefile flag to use alternate .dockerignore flags | ||||||
|  |   * Add a source debug build | ||||||
|  |   * Fix crash on invalid filter commands | ||||||
|  |   * build(deps): bump github.com/containers/common from 0.27.0 to 0.29.0 | ||||||
|  |   * Switch to using containers/common pkg's | ||||||
|  |   * fix: non-portable shebang #2812 | ||||||
|  |   * Remove copy/paste errors that leaked `Podman` into man pages. | ||||||
|  |   * Add suggests cpp to spec file | ||||||
|  |   * Apply suggestions from code review | ||||||
|  |   * update docs for debian testing and unstable | ||||||
|  |   * imagebuildah: disable pseudo-terminals for RUN | ||||||
|  |   * Compute diffID for mapped-layer at creating image source | ||||||
|  |   * intermediateImageExists: ignore images whose history we can't read | ||||||
|  |   * Bump to v1.19.0-dev | ||||||
|  |   * build(deps): bump github.com/containers/common from 0.26.3 to 0.27.0 | ||||||
|  | 
 | ||||||
| - Changelog for v1.18.0 (2020-11-16) | - Changelog for v1.18.0 (2020-11-16) | ||||||
|   * Fix testing error caused by simultanious merge |   * Fix testing error caused by simultanious merge | ||||||
|   * Vendor in containers/storage v1.24.0 |   * Vendor in containers/storage v1.24.0 | ||||||
|  |  | ||||||
|  | @ -1107,7 +1107,12 @@ func setupChrootBindMounts(spec *specs.Spec, bundlePath string) (undoBinds func( | ||||||
| 		} | 		} | ||||||
| 		subSys := filepath.Join(spec.Root.Path, m.Mountpoint) | 		subSys := filepath.Join(spec.Root.Path, m.Mountpoint) | ||||||
| 		if err := unix.Mount(m.Mountpoint, subSys, "bind", sysFlags, ""); err != nil { | 		if err := unix.Mount(m.Mountpoint, subSys, "bind", sysFlags, ""); err != nil { | ||||||
| 			logrus.Warningf("could not bind mount %q, skipping: %v", m.Mountpoint, err) | 			msg := fmt.Sprintf("could not bind mount %q, skipping: %v", m.Mountpoint, err) | ||||||
|  | 			if strings.HasPrefix(m.Mountpoint, "/sys") { | ||||||
|  | 				logrus.Infof(msg) | ||||||
|  | 			} else { | ||||||
|  | 				logrus.Warningf(msg) | ||||||
|  | 			} | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
| 		if err := makeReadOnly(subSys, sysFlags); err != nil { | 		if err := makeReadOnly(subSys, sysFlags); err != nil { | ||||||
|  |  | ||||||
|  | @ -10,6 +10,7 @@ import ( | ||||||
| 	"strings" | 	"strings" | ||||||
| 	"time" | 	"time" | ||||||
| 
 | 
 | ||||||
|  | 	"github.com/containers/buildah/manifests" | ||||||
| 	"github.com/containers/buildah/pkg/blobcache" | 	"github.com/containers/buildah/pkg/blobcache" | ||||||
| 	"github.com/containers/buildah/util" | 	"github.com/containers/buildah/util" | ||||||
| 	"github.com/containers/image/v5/docker" | 	"github.com/containers/image/v5/docker" | ||||||
|  | @ -18,6 +19,7 @@ import ( | ||||||
| 	"github.com/containers/image/v5/signature" | 	"github.com/containers/image/v5/signature" | ||||||
| 	is "github.com/containers/image/v5/storage" | 	is "github.com/containers/image/v5/storage" | ||||||
| 	"github.com/containers/image/v5/transports" | 	"github.com/containers/image/v5/transports" | ||||||
|  | 	"github.com/containers/image/v5/transports/alltransports" | ||||||
| 	"github.com/containers/image/v5/types" | 	"github.com/containers/image/v5/types" | ||||||
| 	encconfig "github.com/containers/ocicrypt/config" | 	encconfig "github.com/containers/ocicrypt/config" | ||||||
| 	"github.com/containers/storage" | 	"github.com/containers/storage" | ||||||
|  | @ -83,6 +85,8 @@ type CommitOptions struct { | ||||||
| 	OmitTimestamp bool | 	OmitTimestamp bool | ||||||
| 	// SignBy is the fingerprint of a GPG key to use for signing the image.
 | 	// SignBy is the fingerprint of a GPG key to use for signing the image.
 | ||||||
| 	SignBy string | 	SignBy string | ||||||
|  | 	// Manifest list to add the image to.
 | ||||||
|  | 	Manifest string | ||||||
| 	// MaxRetries is the maximum number of attempts we'll make to commit
 | 	// MaxRetries is the maximum number of attempts we'll make to commit
 | ||||||
| 	// the image to an external registry if the first attempt fails.
 | 	// the image to an external registry if the first attempt fails.
 | ||||||
| 	MaxRetries int | 	MaxRetries int | ||||||
|  | @ -220,12 +224,59 @@ func checkRegistrySourcesAllows(forWhat string, dest types.ImageReference) (inse | ||||||
| 	return false, nil | 	return false, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func (b *Builder) addManifest(ctx context.Context, manifestName string, imageSpec string) error { | ||||||
|  | 	var create bool | ||||||
|  | 	systemContext := &types.SystemContext{} | ||||||
|  | 	var list manifests.List | ||||||
|  | 	_, listImage, err := util.FindImage(b.store, "", systemContext, manifestName) | ||||||
|  | 	if err != nil { | ||||||
|  | 		create = true | ||||||
|  | 		list = manifests.Create() | ||||||
|  | 	} else { | ||||||
|  | 		_, list, err = manifests.LoadFromImage(b.store, listImage.ID) | ||||||
|  | 		if err != nil { | ||||||
|  | 			return err | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	names, err := util.ExpandNames([]string{manifestName}, "", systemContext, b.store) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return errors.Wrapf(err, "error encountered while expanding image name %q", manifestName) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	ref, err := alltransports.ParseImageName(imageSpec) | ||||||
|  | 	if err != nil { | ||||||
|  | 		if ref, err = alltransports.ParseImageName(util.DefaultTransport + imageSpec); err != nil { | ||||||
|  | 			// check if the local image exists
 | ||||||
|  | 			if ref, _, err = util.FindImage(b.store, "", systemContext, imageSpec); err != nil { | ||||||
|  | 				return err | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if _, err = list.Add(ctx, systemContext, ref, true); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	var imageID string | ||||||
|  | 	if create { | ||||||
|  | 		imageID, err = list.SaveToImage(b.store, "", names, manifest.DockerV2ListMediaType) | ||||||
|  | 	} else { | ||||||
|  | 		imageID, err = list.SaveToImage(b.store, listImage.ID, nil, "") | ||||||
|  | 	} | ||||||
|  | 	if err == nil { | ||||||
|  | 		fmt.Printf("%s\n", imageID) | ||||||
|  | 	} | ||||||
|  | 	return err | ||||||
|  | } | ||||||
|  | 
 | ||||||
| // Commit writes the contents of the container, along with its updated
 | // Commit writes the contents of the container, along with its updated
 | ||||||
| // configuration, to a new image in the specified location, and if we know how,
 | // configuration, to a new image in the specified location, and if we know how,
 | ||||||
| // add any additional tags that were specified. Returns the ID of the new image
 | // add any additional tags that were specified. Returns the ID of the new image
 | ||||||
| // if commit was successful and the image destination was local.
 | // if commit was successful and the image destination was local.
 | ||||||
| func (b *Builder) Commit(ctx context.Context, dest types.ImageReference, options CommitOptions) (string, reference.Canonical, digest.Digest, error) { | func (b *Builder) Commit(ctx context.Context, dest types.ImageReference, options CommitOptions) (string, reference.Canonical, digest.Digest, error) { | ||||||
| 	var imgID string | 	var ( | ||||||
|  | 		imgID string | ||||||
|  | 	) | ||||||
| 
 | 
 | ||||||
| 	// If we weren't given a name, build a destination reference using a
 | 	// If we weren't given a name, build a destination reference using a
 | ||||||
| 	// temporary name that we'll remove later.  The correct thing to do
 | 	// temporary name that we'll remove later.  The correct thing to do
 | ||||||
|  | @ -437,6 +488,11 @@ func (b *Builder) Commit(ctx context.Context, dest types.ImageReference, options | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	if options.Manifest != "" { | ||||||
|  | 		if err := b.addManifest(ctx, options.Manifest, imgID); err != nil { | ||||||
|  | 			return imgID, nil, "", err | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
| 	return imgID, ref, manifestDigest, nil | 	return imgID, ref, manifestDigest, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -529,7 +529,7 @@ func (b *Builder) SetHistoryComment(comment string) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // StopSignal returns the signal which will be set in the container and in
 | // StopSignal returns the signal which will be set in the container and in
 | ||||||
| // containers built using images buiilt from the container
 | // containers built using images built from the container
 | ||||||
| func (b *Builder) StopSignal() string { | func (b *Builder) StopSignal() string { | ||||||
| 	return b.Docker.Config.StopSignal | 	return b.Docker.Config.StopSignal | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -289,6 +289,7 @@ type PutOptions struct { | ||||||
| 	ChmodFiles           *os.FileMode      // set permissions on newly-created files
 | 	ChmodFiles           *os.FileMode      // set permissions on newly-created files
 | ||||||
| 	StripXattrs          bool              // don't bother trying to set extended attributes of items being copied
 | 	StripXattrs          bool              // don't bother trying to set extended attributes of items being copied
 | ||||||
| 	IgnoreXattrErrors    bool              // ignore any errors encountered when attempting to set extended attributes
 | 	IgnoreXattrErrors    bool              // ignore any errors encountered when attempting to set extended attributes
 | ||||||
|  | 	IgnoreDevices        bool              // ignore items which are character or block devices
 | ||||||
| 	NoOverwriteDirNonDir bool              // instead of quietly overwriting directories with non-directories, return an error
 | 	NoOverwriteDirNonDir bool              // instead of quietly overwriting directories with non-directories, return an error
 | ||||||
| 	Rename               map[string]string // rename items with the specified names, or under the specified names
 | 	Rename               map[string]string // rename items with the specified names, or under the specified names
 | ||||||
| } | } | ||||||
|  | @ -364,7 +365,7 @@ func cleanerReldirectory(candidate string) string { | ||||||
| 	return cleaned | 	return cleaned | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // convertToRelSubirectory returns the path of directory, bound and relative to
 | // convertToRelSubdirectory returns the path of directory, bound and relative to
 | ||||||
| // root, as a relative path, or an error if that path can't be computed or if
 | // root, as a relative path, or an error if that path can't be computed or if
 | ||||||
| // the two directories are on different volumes
 | // the two directories are on different volumes
 | ||||||
| func convertToRelSubdirectory(root, directory string) (relative string, err error) { | func convertToRelSubdirectory(root, directory string) (relative string, err error) { | ||||||
|  | @ -1402,11 +1403,14 @@ func copierHandlerPut(bulkReader io.Reader, req request, idMappings *idtools.IDM | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 		}() | 		}() | ||||||
|  | 		ignoredItems := make(map[string]struct{}) | ||||||
| 		tr := tar.NewReader(bulkReader) | 		tr := tar.NewReader(bulkReader) | ||||||
| 		hdr, err := tr.Next() | 		hdr, err := tr.Next() | ||||||
| 		for err == nil { | 		for err == nil { | ||||||
|  | 			nameBeforeRenaming := hdr.Name | ||||||
| 			if len(hdr.Name) == 0 { | 			if len(hdr.Name) == 0 { | ||||||
| 				// no name -> ignore the entry
 | 				// no name -> ignore the entry
 | ||||||
|  | 				ignoredItems[nameBeforeRenaming] = struct{}{} | ||||||
| 				hdr, err = tr.Next() | 				hdr, err = tr.Next() | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
|  | @ -1465,6 +1469,11 @@ func copierHandlerPut(bulkReader io.Reader, req request, idMappings *idtools.IDM | ||||||
| 				} | 				} | ||||||
| 			case tar.TypeLink: | 			case tar.TypeLink: | ||||||
| 				var linkTarget string | 				var linkTarget string | ||||||
|  | 				if _, ignoredTarget := ignoredItems[hdr.Linkname]; ignoredTarget { | ||||||
|  | 					// hard link to an ignored item: skip this, too
 | ||||||
|  | 					ignoredItems[nameBeforeRenaming] = struct{}{} | ||||||
|  | 					goto nextHeader | ||||||
|  | 				} | ||||||
| 				if req.PutOptions.Rename != nil { | 				if req.PutOptions.Rename != nil { | ||||||
| 					hdr.Linkname = handleRename(req.PutOptions.Rename, hdr.Linkname) | 					hdr.Linkname = handleRename(req.PutOptions.Rename, hdr.Linkname) | ||||||
| 				} | 				} | ||||||
|  | @ -1497,6 +1506,10 @@ func copierHandlerPut(bulkReader io.Reader, req request, idMappings *idtools.IDM | ||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
| 			case tar.TypeChar: | 			case tar.TypeChar: | ||||||
|  | 				if req.PutOptions.IgnoreDevices { | ||||||
|  | 					ignoredItems[nameBeforeRenaming] = struct{}{} | ||||||
|  | 					goto nextHeader | ||||||
|  | 				} | ||||||
| 				if err = mknod(path, chrMode(0600), int(mkdev(devMajor, devMinor))); err != nil && os.IsExist(err) { | 				if err = mknod(path, chrMode(0600), int(mkdev(devMajor, devMinor))); err != nil && os.IsExist(err) { | ||||||
| 					if req.PutOptions.NoOverwriteDirNonDir { | 					if req.PutOptions.NoOverwriteDirNonDir { | ||||||
| 						if st, err := os.Lstat(path); err == nil && st.IsDir() { | 						if st, err := os.Lstat(path); err == nil && st.IsDir() { | ||||||
|  | @ -1508,6 +1521,10 @@ func copierHandlerPut(bulkReader io.Reader, req request, idMappings *idtools.IDM | ||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
| 			case tar.TypeBlock: | 			case tar.TypeBlock: | ||||||
|  | 				if req.PutOptions.IgnoreDevices { | ||||||
|  | 					ignoredItems[nameBeforeRenaming] = struct{}{} | ||||||
|  | 					goto nextHeader | ||||||
|  | 				} | ||||||
| 				if err = mknod(path, blkMode(0600), int(mkdev(devMajor, devMinor))); err != nil && os.IsExist(err) { | 				if err = mknod(path, blkMode(0600), int(mkdev(devMajor, devMinor))); err != nil && os.IsExist(err) { | ||||||
| 					if req.PutOptions.NoOverwriteDirNonDir { | 					if req.PutOptions.NoOverwriteDirNonDir { | ||||||
| 						if st, err := os.Lstat(path); err == nil && st.IsDir() { | 						if st, err := os.Lstat(path); err == nil && st.IsDir() { | ||||||
|  |  | ||||||
|  | @ -5,10 +5,10 @@ go 1.12 | ||||||
| require ( | require ( | ||||||
| 	github.com/containerd/containerd v1.4.1 // indirect | 	github.com/containerd/containerd v1.4.1 // indirect | ||||||
| 	github.com/containernetworking/cni v0.7.2-0.20190904153231-83439463f784 | 	github.com/containernetworking/cni v0.7.2-0.20190904153231-83439463f784 | ||||||
| 	github.com/containers/common v0.31.1 | 	github.com/containers/common v0.33.1 | ||||||
| 	github.com/containers/image/v5 v5.9.0 | 	github.com/containers/image/v5 v5.9.0 | ||||||
| 	github.com/containers/ocicrypt v1.0.3 | 	github.com/containers/ocicrypt v1.0.3 | ||||||
| 	github.com/containers/storage v1.24.3 | 	github.com/containers/storage v1.24.5 | ||||||
| 	github.com/docker/distribution v2.7.1+incompatible | 	github.com/docker/distribution v2.7.1+incompatible | ||||||
| 	github.com/docker/go-units v0.4.0 | 	github.com/docker/go-units v0.4.0 | ||||||
| 	github.com/docker/libnetwork v0.8.0-dev.2.0.20190625141545-5a177b73e316 | 	github.com/docker/libnetwork v0.8.0-dev.2.0.20190625141545-5a177b73e316 | ||||||
|  | @ -16,7 +16,6 @@ require ( | ||||||
| 	github.com/ghodss/yaml v1.0.0 | 	github.com/ghodss/yaml v1.0.0 | ||||||
| 	github.com/hashicorp/go-multierror v1.1.0 | 	github.com/hashicorp/go-multierror v1.1.0 | ||||||
| 	github.com/ishidawataru/sctp v0.0.0-20191218070446-00ab2ac2db07 // indirect | 	github.com/ishidawataru/sctp v0.0.0-20191218070446-00ab2ac2db07 // indirect | ||||||
| 	github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect |  | ||||||
| 	github.com/mattn/go-shellwords v1.0.10 | 	github.com/mattn/go-shellwords v1.0.10 | ||||||
| 	github.com/moby/sys/mount v0.1.1 // indirect | 	github.com/moby/sys/mount v0.1.1 // indirect | ||||||
| 	github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2 // indirect | 	github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2 // indirect | ||||||
|  | @ -39,7 +38,7 @@ require ( | ||||||
| 	go.etcd.io/bbolt v1.3.5 | 	go.etcd.io/bbolt v1.3.5 | ||||||
| 	golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 | 	golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 | ||||||
| 	golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a | 	golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a | ||||||
| 	golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13 | 	golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3 | ||||||
| 	gotest.tools/v3 v3.0.3 // indirect | 	gotest.tools/v3 v3.0.3 // indirect | ||||||
| 	k8s.io/klog v1.0.0 // indirect | 	k8s.io/klog v1.0.0 // indirect | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | @ -22,10 +22,12 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym | ||||||
| github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= | github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= | ||||||
| github.com/Microsoft/go-winio v0.4.15-0.20200113171025-3fe6c5262873 h1:93nQ7k53GjoMQ07HVP8g6Zj1fQZDDj7Xy2VkNNtvX8o= | github.com/Microsoft/go-winio v0.4.15-0.20200113171025-3fe6c5262873 h1:93nQ7k53GjoMQ07HVP8g6Zj1fQZDDj7Xy2VkNNtvX8o= | ||||||
| github.com/Microsoft/go-winio v0.4.15-0.20200113171025-3fe6c5262873/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= | github.com/Microsoft/go-winio v0.4.15-0.20200113171025-3fe6c5262873/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= | ||||||
| github.com/Microsoft/go-winio v0.4.15 h1:qkLXKzb1QoVatRyd/YlXZ/Kg0m5K3SPuoD82jjSOaBc= | github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331 h1:3YnB7Hpmh1lPecPE8doMOtYCrMdrpedZOvxfuNES/Vk= | ||||||
| github.com/Microsoft/go-winio v0.4.15/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= | github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= | ||||||
| github.com/Microsoft/hcsshim v0.8.9 h1:VrfodqvztU8YSOvygU+DN1BGaSGxmrNfqOv5oOuX2Bk= | github.com/Microsoft/hcsshim v0.8.9 h1:VrfodqvztU8YSOvygU+DN1BGaSGxmrNfqOv5oOuX2Bk= | ||||||
| github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= | github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= | ||||||
|  | github.com/Microsoft/hcsshim v0.8.14 h1:lbPVK25c1cu5xTLITwpUcxoA9vKrKErASPYygvouJns= | ||||||
|  | github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= | ||||||
| github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= | github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= | ||||||
| github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdcM= | github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdcM= | ||||||
| github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= | github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= | ||||||
|  | @ -53,11 +55,14 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5O | ||||||
| github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= | github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= | ||||||
| github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= | github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= | ||||||
| github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= | github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= | ||||||
|  | github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= | ||||||
| github.com/cilium/ebpf v0.0.0-20200507155900-a9f01edf17e3/go.mod h1:XT+cAw5wfvsodedcijoh1l9cf7v1x9FlFB/3VmF/O8s= | github.com/cilium/ebpf v0.0.0-20200507155900-a9f01edf17e3/go.mod h1:XT+cAw5wfvsodedcijoh1l9cf7v1x9FlFB/3VmF/O8s= | ||||||
| github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= | github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= | ||||||
| github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= | github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= | ||||||
| github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f h1:tSNMc+rJDfmYntojat8lljbt1mgKNpTxUZJsSzJ9Y1s= | 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/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= | ||||||
|  | github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59 h1:qWj4qVYZ95vLWwqyNJCQg7rDsG5wPdze0UaPolH7DUk= | ||||||
|  | github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= | ||||||
| github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= | github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= | ||||||
| github.com/containerd/console v1.0.0/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= | github.com/containerd/console v1.0.0/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= | ||||||
| github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= | github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= | ||||||
|  | @ -73,8 +78,8 @@ github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDG | ||||||
| github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= | github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= | ||||||
| github.com/containernetworking/cni v0.7.2-0.20190904153231-83439463f784 h1:rqUVLD8I859xRgUx/WMC3v7QAFqbLKZbs+0kqYboRJc= | github.com/containernetworking/cni v0.7.2-0.20190904153231-83439463f784 h1:rqUVLD8I859xRgUx/WMC3v7QAFqbLKZbs+0kqYboRJc= | ||||||
| github.com/containernetworking/cni v0.7.2-0.20190904153231-83439463f784/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= | github.com/containernetworking/cni v0.7.2-0.20190904153231-83439463f784/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= | ||||||
| github.com/containers/common v0.31.1 h1:oBINnZpYZ2u90HPMnVCXOhm/TsTaTB7wU/56l05hq44= | github.com/containers/common v0.33.1 h1:XpDiq8Cta8+u1s4kpYSEWdB140ZmqgyIXfWkLqKx3z0= | ||||||
| github.com/containers/common v0.31.1/go.mod h1:Fehe82hQfJQvDspnRrV9rcdAWG3IalNHEt0F6QWNBHQ= | github.com/containers/common v0.33.1/go.mod h1:mjDo/NKeweL/onaspLhZ38WnHXaYmrELHclIdvSnYpY= | ||||||
| github.com/containers/image/v5 v5.9.0 h1:dRmUtcluQcmasNo3DpnRoZjfU0rOu1qZeL6wlDJr10Q= | github.com/containers/image/v5 v5.9.0 h1:dRmUtcluQcmasNo3DpnRoZjfU0rOu1qZeL6wlDJr10Q= | ||||||
| github.com/containers/image/v5 v5.9.0/go.mod h1:blOEFd/iFdeyh891ByhCVUc+xAcaI3gBegXECwz9UbQ= | github.com/containers/image/v5 v5.9.0/go.mod h1:blOEFd/iFdeyh891ByhCVUc+xAcaI3gBegXECwz9UbQ= | ||||||
| github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b h1:Q8ePgVfHDplZ7U33NwHZkrVELsZP5fYj9pM5WBZB2GE= | github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b h1:Q8ePgVfHDplZ7U33NwHZkrVELsZP5fYj9pM5WBZB2GE= | ||||||
|  | @ -82,8 +87,8 @@ github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b/go.mod h1:9rfv | ||||||
| github.com/containers/ocicrypt v1.0.3 h1:vYgl+RZ9Q3DPMuTfxmN+qp0X2Bj52uuY2vnt6GzVe1c= | github.com/containers/ocicrypt v1.0.3 h1:vYgl+RZ9Q3DPMuTfxmN+qp0X2Bj52uuY2vnt6GzVe1c= | ||||||
| github.com/containers/ocicrypt v1.0.3/go.mod h1:CUBa+8MRNL/VkpxYIpaMtgn1WgXGyvPQj8jcy0EVG6g= | github.com/containers/ocicrypt v1.0.3/go.mod h1:CUBa+8MRNL/VkpxYIpaMtgn1WgXGyvPQj8jcy0EVG6g= | ||||||
| github.com/containers/storage v1.23.7/go.mod h1:cUT2zHjtx+WlVri30obWmM2gpqpi8jfPsmIzP1TVpEI= | github.com/containers/storage v1.23.7/go.mod h1:cUT2zHjtx+WlVri30obWmM2gpqpi8jfPsmIzP1TVpEI= | ||||||
| github.com/containers/storage v1.24.3 h1:8UB4S62l4hrU6Yw3dbsLCJtLg7Ofo39IN2HdckBIX4E= | github.com/containers/storage v1.24.5 h1:BusfdU0rCS2/Daa/DPw+0iLfGRlYA7UVF7D0el3N7Vk= | ||||||
| github.com/containers/storage v1.24.3/go.mod h1:0xJL06Dmd+ZYXIUdnBUPN0JnhHGgwMkLvnnAonJfWJU= | github.com/containers/storage v1.24.5/go.mod h1:YC+2pY8SkfEAcZkwycxYbpK8EiRbx5soPPwz9dxe4IQ= | ||||||
| github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= | github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= | ||||||
| github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= | github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= | ||||||
| github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= | github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= | ||||||
|  | @ -231,6 +236,8 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o | ||||||
| github.com/klauspost/compress v1.11.1/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= | github.com/klauspost/compress v1.11.1/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= | ||||||
| github.com/klauspost/compress v1.11.3 h1:dB4Bn0tN3wdCzQxnS8r06kV74qN/TAfaIS0bVE8h3jc= | github.com/klauspost/compress v1.11.3 h1:dB4Bn0tN3wdCzQxnS8r06kV74qN/TAfaIS0bVE8h3jc= | ||||||
| github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= | github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= | ||||||
|  | github.com/klauspost/compress v1.11.5 h1:xNCE0uE6yvTPRS+0wGNMHPo3NIpwnk6aluQZ6R6kRcc= | ||||||
|  | github.com/klauspost/compress v1.11.5/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= | ||||||
| github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= | github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= | ||||||
| github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= | github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= | ||||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= | github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= | ||||||
|  | @ -315,6 +322,7 @@ github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59P | ||||||
| github.com/opencontainers/runc v1.0.0-rc91 h1:Tp8LWs5G8rFpzTsbRjAtQkPVexhCu0bnANE5IfIhJ6g= | github.com/opencontainers/runc v1.0.0-rc91 h1:Tp8LWs5G8rFpzTsbRjAtQkPVexhCu0bnANE5IfIhJ6g= | ||||||
| github.com/opencontainers/runc v1.0.0-rc91/go.mod h1:3Sm6Dt7OT8z88EbdQqqcRN2oCT54jbi72tT/HqgflT8= | github.com/opencontainers/runc v1.0.0-rc91/go.mod h1:3Sm6Dt7OT8z88EbdQqqcRN2oCT54jbi72tT/HqgflT8= | ||||||
| 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.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= | ||||||
|  | github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= | ||||||
| github.com/opencontainers/runtime-spec v1.0.3-0.20200520003142-237cc4f519e2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= | github.com/opencontainers/runtime-spec v1.0.3-0.20200520003142-237cc4f519e2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= | ||||||
| github.com/opencontainers/runtime-spec v1.0.3-0.20200710190001-3e4195d92445 h1:y8cfsJRmn8g3VkM4IDpusKSgMUZEXhudm/BuYANLozE= | github.com/opencontainers/runtime-spec v1.0.3-0.20200710190001-3e4195d92445 h1:y8cfsJRmn8g3VkM4IDpusKSgMUZEXhudm/BuYANLozE= | ||||||
| github.com/opencontainers/runtime-spec v1.0.3-0.20200710190001-3e4195d92445/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= | github.com/opencontainers/runtime-spec v1.0.3-0.20200710190001-3e4195d92445/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= | ||||||
|  | @ -406,6 +414,7 @@ github.com/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= | ||||||
| github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= | github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= | ||||||
| github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= | github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= | ||||||
| github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= | github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= | ||||||
|  | github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= | ||||||
| github.com/vbatts/tar-split v0.11.1 h1:0Odu65rhcZ3JZaPHxl7tCI3V/C/Q9Zf82UFravl02dE= | 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/vbatts/tar-split v0.11.1/go.mod h1:LEuURwDEiWjRjwu46yU3KVGuUdVv/dcnpcEPSzR8z6g= | ||||||
| github.com/vbauerster/mpb/v5 v5.3.0 h1:vgrEJjUzHaSZKDRRxul5Oh4C72Yy/5VEMb0em+9M0mQ= | github.com/vbauerster/mpb/v5 v5.3.0 h1:vgrEJjUzHaSZKDRRxul5Oh4C72Yy/5VEMb0em+9M0mQ= | ||||||
|  | @ -517,8 +526,10 @@ golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7w | ||||||
| golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | @ -530,8 +541,8 @@ golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7w | ||||||
| golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13 h1:5jaG59Zhd+8ZXe8C+lgiAGqkOaZBruqrWclLkgAww34= | golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3 h1:kzM6+9dur93BcC2kVlYl34cHU+TYZLanmpSJHVMmL64= | ||||||
| golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||||
| golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||||
| golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= | golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= | ||||||
|  |  | ||||||
|  | @ -58,6 +58,8 @@ type BuildOptions struct { | ||||||
| 	// IgnoreUnrecognizedInstructions tells us to just log instructions we
 | 	// IgnoreUnrecognizedInstructions tells us to just log instructions we
 | ||||||
| 	// don't recognize, and try to keep going.
 | 	// don't recognize, and try to keep going.
 | ||||||
| 	IgnoreUnrecognizedInstructions bool | 	IgnoreUnrecognizedInstructions bool | ||||||
|  | 	// Manifest Name to which the image will be added.
 | ||||||
|  | 	Manifest string | ||||||
| 	// Quiet tells us whether or not to announce steps as we go through them.
 | 	// Quiet tells us whether or not to announce steps as we go through them.
 | ||||||
| 	Quiet bool | 	Quiet bool | ||||||
| 	// Isolation controls how Run() runs things.
 | 	// Isolation controls how Run() runs things.
 | ||||||
|  |  | ||||||
|  | @ -103,27 +103,27 @@ func newContainerIDMappingOptions(idmapOptions *IDMappingOptions) storage.IDMapp | ||||||
| 	return options | 	return options | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func resolveLocalImage(systemContext *types.SystemContext, store storage.Store, options BuilderOptions) (types.ImageReference, string, *storage.Image, error) { | func resolveLocalImage(systemContext *types.SystemContext, store storage.Store, options BuilderOptions) (types.ImageReference, string, string, *storage.Image, error) { | ||||||
| 	candidates, _, _, err := util.ResolveName(options.FromImage, options.Registry, systemContext, store) | 	candidates, _, _, err := util.ResolveName(options.FromImage, options.Registry, systemContext, store) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, "", nil, errors.Wrapf(err, "error resolving local image %q", options.FromImage) | 		return nil, "", "", nil, errors.Wrapf(err, "error resolving local image %q", options.FromImage) | ||||||
| 	} | 	} | ||||||
| 	for _, image := range candidates { | 	for _, imageName := range candidates { | ||||||
| 		img, err := store.Image(image) | 		img, err := store.Image(imageName) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			if errors.Cause(err) == storage.ErrImageUnknown { | 			if errors.Cause(err) == storage.ErrImageUnknown { | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
| 			return nil, "", nil, err | 			return nil, "", "", nil, err | ||||||
| 		} | 		} | ||||||
| 		ref, err := is.Transport.ParseStoreReference(store, img.ID) | 		ref, err := is.Transport.ParseStoreReference(store, img.ID) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return nil, "", nil, errors.Wrapf(err, "error parsing reference to image %q", img.ID) | 			return nil, "", "", nil, errors.Wrapf(err, "error parsing reference to image %q", img.ID) | ||||||
| 		} | 		} | ||||||
| 		return ref, ref.Transport().Name(), img, nil | 		return ref, ref.Transport().Name(), imageName, img, nil | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return nil, "", nil, nil | 	return nil, "", "", nil, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func resolveImage(ctx context.Context, systemContext *types.SystemContext, store storage.Store, options BuilderOptions) (types.ImageReference, string, *storage.Image, error) { | func resolveImage(ctx context.Context, systemContext *types.SystemContext, store storage.Store, options BuilderOptions) (types.ImageReference, string, *storage.Image, error) { | ||||||
|  | @ -145,7 +145,7 @@ func resolveImage(ctx context.Context, systemContext *types.SystemContext, store | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	localImageRef, _, localImage, err := resolveLocalImage(systemContext, store, options) | 	localImageRef, _, localImageName, localImage, err := resolveLocalImage(systemContext, store, options) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, "", nil, err | 		return nil, "", nil, err | ||||||
| 	} | 	} | ||||||
|  | @ -166,6 +166,12 @@ func resolveImage(ctx context.Context, systemContext *types.SystemContext, store | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	// If we found a local image, we must use it's name.
 | ||||||
|  | 	// See #2904.
 | ||||||
|  | 	if localImageRef != nil { | ||||||
|  | 		fromImage = localImageName | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	resolved, err := shortnames.Resolve(systemContext, fromImage) | 	resolved, err := shortnames.Resolve(systemContext, fromImage) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, "", nil, err | 		return nil, "", nil, err | ||||||
|  |  | ||||||
|  | @ -51,7 +51,6 @@ type NameSpaceResults struct { | ||||||
| // BudResults represents the results for Bud flags
 | // BudResults represents the results for Bud flags
 | ||||||
| type BudResults struct { | type BudResults struct { | ||||||
| 	Annotation          []string | 	Annotation          []string | ||||||
| 	Arch                string |  | ||||||
| 	Authfile            string | 	Authfile            string | ||||||
| 	BuildArg            []string | 	BuildArg            []string | ||||||
| 	CacheFrom           string | 	CacheFrom           string | ||||||
|  | @ -68,10 +67,9 @@ type BudResults struct { | ||||||
| 	Label               []string | 	Label               []string | ||||||
| 	Logfile             string | 	Logfile             string | ||||||
| 	Loglevel            int | 	Loglevel            int | ||||||
|  | 	Manifest            string | ||||||
| 	NoCache             bool | 	NoCache             bool | ||||||
| 	Timestamp           int64 | 	Timestamp           int64 | ||||||
| 	OS                  string |  | ||||||
| 	Platform            string |  | ||||||
| 	Pull                bool | 	Pull                bool | ||||||
| 	PullAlways          bool | 	PullAlways          bool | ||||||
| 	PullNever           bool | 	PullNever           bool | ||||||
|  | @ -112,8 +110,6 @@ type FromAndBudResults struct { | ||||||
| 	Isolation      string | 	Isolation      string | ||||||
| 	Memory         string | 	Memory         string | ||||||
| 	MemorySwap     string | 	MemorySwap     string | ||||||
| 	OverrideArch   string |  | ||||||
| 	OverrideOS     string |  | ||||||
| 	SecurityOpt    []string | 	SecurityOpt    []string | ||||||
| 	ShmSize        string | 	ShmSize        string | ||||||
| 	Ulimit         []string | 	Ulimit         []string | ||||||
|  | @ -179,7 +175,7 @@ func GetLayerFlags(flags *LayerResults) pflag.FlagSet { | ||||||
| // GetBudFlags returns common bud flags
 | // GetBudFlags returns common bud flags
 | ||||||
| func GetBudFlags(flags *BudResults) pflag.FlagSet { | func GetBudFlags(flags *BudResults) pflag.FlagSet { | ||||||
| 	fs := pflag.FlagSet{} | 	fs := pflag.FlagSet{} | ||||||
| 	fs.StringVar(&flags.Arch, "arch", runtime.GOARCH, "set the ARCH of the image to the provided value instead of the architecture of the host") | 	fs.String("arch", runtime.GOARCH, "set the ARCH of the image to the provided value instead of the architecture of the host") | ||||||
| 	fs.StringArrayVar(&flags.Annotation, "annotation", []string{}, "Set metadata for an image (default [])") | 	fs.StringArrayVar(&flags.Annotation, "annotation", []string{}, "Set metadata for an image (default [])") | ||||||
| 	fs.StringVar(&flags.Authfile, "authfile", auth.GetDefaultAuthFile(), "path of the authentication file.") | 	fs.StringVar(&flags.Authfile, "authfile", auth.GetDefaultAuthFile(), "path of the authentication file.") | ||||||
| 	fs.StringArrayVar(&flags.BuildArg, "build-arg", []string{}, "`argument=value` to supply to the builder") | 	fs.StringArrayVar(&flags.BuildArg, "build-arg", []string{}, "`argument=value` to supply to the builder") | ||||||
|  | @ -202,9 +198,10 @@ func GetBudFlags(flags *BudResults) pflag.FlagSet { | ||||||
| 	if err := fs.MarkHidden("log-rusage"); err != nil { | 	if err := fs.MarkHidden("log-rusage"); err != nil { | ||||||
| 		panic(fmt.Sprintf("error marking the log-rusage flag as hidden: %v", err)) | 		panic(fmt.Sprintf("error marking the log-rusage flag as hidden: %v", err)) | ||||||
| 	} | 	} | ||||||
|  | 	fs.StringVar(&flags.Manifest, "manifest", "", "add the image to the specified manifest list. Creates manifest if it does not exist") | ||||||
| 	fs.BoolVar(&flags.NoCache, "no-cache", false, "Do not use existing cached images for the container build. Build from the start with a new set of cached layers.") | 	fs.BoolVar(&flags.NoCache, "no-cache", false, "Do not use existing cached images for the container build. Build from the start with a new set of cached layers.") | ||||||
| 	fs.StringVar(&flags.OS, "os", runtime.GOOS, "set the OS to the provided value instead of the current operating system of the host") | 	fs.String("os", runtime.GOOS, "set the OS to the provided value instead of the current operating system of the host") | ||||||
| 	fs.StringVar(&flags.Platform, "platform", parse.DefaultPlatform(), "set the OS/ARCH to the provided value instead of the current operating system and architecture of the host (for example `linux/arm`)") | 	fs.String("platform", parse.DefaultPlatform(), "set the OS/ARCH to the provided value instead of the current operating system and architecture of the host (for example `linux/arm`)") | ||||||
| 	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.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.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.BoolVar(&flags.PullNever, "pull-never", false, "do not pull the image, use the image present in store if available") | ||||||
|  | @ -223,6 +220,7 @@ func GetBudFlags(flags *BudResults) pflag.FlagSet { | ||||||
| 	fs.StringVar(&flags.Target, "target", "", "set the target build stage to build") | 	fs.StringVar(&flags.Target, "target", "", "set the target build stage to build") | ||||||
| 	fs.Int64Var(&flags.Timestamp, "timestamp", 0, "set created timestamp to the specified epoch seconds to allow for deterministic builds, defaults to current time") | 	fs.Int64Var(&flags.Timestamp, "timestamp", 0, "set created timestamp to the specified epoch seconds to allow for deterministic builds, defaults to current time") | ||||||
| 	fs.BoolVar(&flags.TLSVerify, "tls-verify", true, "require HTTPS and verify certificates when accessing the registry") | 	fs.BoolVar(&flags.TLSVerify, "tls-verify", true, "require HTTPS and verify certificates when accessing the registry") | ||||||
|  | 	fs.String("variant", "", "override the `variant` of the specified image") | ||||||
| 	return fs | 	return fs | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -245,6 +243,7 @@ func GetBudFlagsCompletions() commonComp.FlagCompletions { | ||||||
| 	flagCompletion["label"] = commonComp.AutocompleteNone | 	flagCompletion["label"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["logfile"] = commonComp.AutocompleteDefault | 	flagCompletion["logfile"] = commonComp.AutocompleteDefault | ||||||
| 	flagCompletion["loglevel"] = commonComp.AutocompleteDefault | 	flagCompletion["loglevel"] = commonComp.AutocompleteDefault | ||||||
|  | 	flagCompletion["manifest"] = commonComp.AutocompleteDefault | ||||||
| 	flagCompletion["os"] = commonComp.AutocompleteNone | 	flagCompletion["os"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["platform"] = commonComp.AutocompleteNone | 	flagCompletion["platform"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["runtime-flag"] = commonComp.AutocompleteNone | 	flagCompletion["runtime-flag"] = commonComp.AutocompleteNone | ||||||
|  | @ -253,6 +252,7 @@ func GetBudFlagsCompletions() commonComp.FlagCompletions { | ||||||
| 	flagCompletion["tag"] = commonComp.AutocompleteNone | 	flagCompletion["tag"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["target"] = commonComp.AutocompleteNone | 	flagCompletion["target"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["timestamp"] = commonComp.AutocompleteNone | 	flagCompletion["timestamp"] = commonComp.AutocompleteNone | ||||||
|  | 	flagCompletion["variant"] = commonComp.AutocompleteNone | ||||||
| 	return flagCompletion | 	return flagCompletion | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -286,14 +286,9 @@ func GetFromAndBudFlags(flags *FromAndBudResults, usernsResults *UserNSResults, | ||||||
| 	fs.StringVar(&flags.Isolation, "isolation", DefaultIsolation(), "`type` of process isolation to use. Use BUILDAH_ISOLATION environment variable to override.") | 	fs.StringVar(&flags.Isolation, "isolation", DefaultIsolation(), "`type` of process isolation to use. Use BUILDAH_ISOLATION environment variable to override.") | ||||||
| 	fs.StringVarP(&flags.Memory, "memory", "m", "", "memory limit (format: <number>[<unit>], where unit = b, k, m or g)") | 	fs.StringVarP(&flags.Memory, "memory", "m", "", "memory limit (format: <number>[<unit>], where unit = b, k, m or g)") | ||||||
| 	fs.StringVar(&flags.MemorySwap, "memory-swap", "", "swap limit equal to memory plus swap: '-1' to enable unlimited swap") | 	fs.StringVar(&flags.MemorySwap, "memory-swap", "", "swap limit equal to memory plus swap: '-1' to enable unlimited swap") | ||||||
| 	fs.StringVar(&flags.OverrideOS, "override-os", runtime.GOOS, "prefer `OS` instead of the running OS when pulling images") | 	fs.String("arch", runtime.GOARCH, "set the ARCH of the image to the provided value instead of the architecture of the host") | ||||||
| 	if err := fs.MarkHidden("override-os"); err != nil { | 	fs.String("os", runtime.GOOS, "prefer `OS` instead of the running OS when pulling images") | ||||||
| 		panic(fmt.Sprintf("error marking override-os as hidden: %v", err)) | 	fs.String("variant", "", "override the `variant` of the specified image") | ||||||
| 	} |  | ||||||
| 	fs.StringVar(&flags.OverrideArch, "override-arch", runtime.GOARCH, "prefer `ARCH` instead of the architecture of the machine when pulling images") |  | ||||||
| 	if err := fs.MarkHidden("override-arch"); err != nil { |  | ||||||
| 		panic(fmt.Sprintf("error marking override-arch as hidden: %v", err)) |  | ||||||
| 	} |  | ||||||
| 	fs.StringArrayVar(&flags.SecurityOpt, "security-opt", []string{}, "security options (default [])") | 	fs.StringArrayVar(&flags.SecurityOpt, "security-opt", []string{}, "security options (default [])") | ||||||
| 	fs.StringVar(&flags.ShmSize, "shm-size", defaultContainerConfig.Containers.ShmSize, "size of '/dev/shm'. The format is `<number><unit>`.") | 	fs.StringVar(&flags.ShmSize, "shm-size", defaultContainerConfig.Containers.ShmSize, "size of '/dev/shm'. The format is `<number><unit>`.") | ||||||
| 	fs.StringSliceVar(&flags.Ulimit, "ulimit", defaultContainerConfig.Containers.DefaultUlimits, "ulimit options") | 	fs.StringSliceVar(&flags.Ulimit, "ulimit", defaultContainerConfig.Containers.DefaultUlimits, "ulimit options") | ||||||
|  | @ -311,6 +306,7 @@ func GetFromAndBudFlags(flags *FromAndBudResults, usernsResults *UserNSResults, | ||||||
| // GetFromAndBudFlagsCompletions returns the FlagCompletions for the from and bud flags
 | // GetFromAndBudFlagsCompletions returns the FlagCompletions for the from and bud flags
 | ||||||
| func GetFromAndBudFlagsCompletions() commonComp.FlagCompletions { | func GetFromAndBudFlagsCompletions() commonComp.FlagCompletions { | ||||||
| 	flagCompletion := commonComp.FlagCompletions{} | 	flagCompletion := commonComp.FlagCompletions{} | ||||||
|  | 	flagCompletion["arch"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["add-host"] = commonComp.AutocompleteNone | 	flagCompletion["add-host"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["blob-cache"] = commonComp.AutocompleteNone | 	flagCompletion["blob-cache"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["cap-add"] = commonComp.AutocompleteCapabilities | 	flagCompletion["cap-add"] = commonComp.AutocompleteCapabilities | ||||||
|  | @ -329,10 +325,12 @@ func GetFromAndBudFlagsCompletions() commonComp.FlagCompletions { | ||||||
| 	flagCompletion["isolation"] = commonComp.AutocompleteNone | 	flagCompletion["isolation"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["memory"] = commonComp.AutocompleteNone | 	flagCompletion["memory"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["memory-swap"] = commonComp.AutocompleteNone | 	flagCompletion["memory-swap"] = commonComp.AutocompleteNone | ||||||
|  | 	flagCompletion["os"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["security-opt"] = commonComp.AutocompleteNone | 	flagCompletion["security-opt"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["shm-size"] = commonComp.AutocompleteNone | 	flagCompletion["shm-size"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["ulimit"] = commonComp.AutocompleteNone | 	flagCompletion["ulimit"] = commonComp.AutocompleteNone | ||||||
| 	flagCompletion["volume"] = commonComp.AutocompleteDefault | 	flagCompletion["volume"] = commonComp.AutocompleteDefault | ||||||
|  | 	flagCompletion["variant"] = commonComp.AutocompleteNone | ||||||
| 
 | 
 | ||||||
| 	// Add in the usernamespace and namespace flag completions
 | 	// Add in the usernamespace and namespace flag completions
 | ||||||
| 	userNsComp := GetUserNSFlagsCompletions() | 	userNsComp := GetUserNSFlagsCompletions() | ||||||
|  | @ -401,6 +399,12 @@ func AliasFlags(f *pflag.FlagSet, name string) pflag.NormalizedName { | ||||||
| 	switch name { | 	switch name { | ||||||
| 	case "net": | 	case "net": | ||||||
| 		name = "network" | 		name = "network" | ||||||
|  | 	case "override-arch": | ||||||
|  | 		name = "arch" | ||||||
|  | 	case "override-os": | ||||||
|  | 		name = "os" | ||||||
|  | 	case "purge": | ||||||
|  | 		name = "rm" | ||||||
| 	} | 	} | ||||||
| 	return pflag.NormalizedName(name) | 	return pflag.NormalizedName(name) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -77,6 +77,15 @@ func mountHelper(contentDir, source, dest string, _, _ int, graphOptions []strin | ||||||
| 		// Read-write overlay mounts want a lower, upper and a work layer.
 | 		// Read-write overlay mounts want a lower, upper and a work layer.
 | ||||||
| 		workDir := filepath.Join(contentDir, "work") | 		workDir := filepath.Join(contentDir, "work") | ||||||
| 		upperDir := filepath.Join(contentDir, "upper") | 		upperDir := filepath.Join(contentDir, "upper") | ||||||
|  | 		st, err := os.Stat(dest) | ||||||
|  | 		if err == nil { | ||||||
|  | 			if err := os.Chmod(upperDir, st.Mode()); err != nil { | ||||||
|  | 				return mount, err | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 		if !os.IsNotExist(err) { | ||||||
|  | 			return mount, err | ||||||
|  | 		} | ||||||
| 		overlayOptions = fmt.Sprintf("lowerdir=%s,upperdir=%s,workdir=%s,private", source, upperDir, workDir) | 		overlayOptions = fmt.Sprintf("lowerdir=%s,upperdir=%s,workdir=%s,private", source, upperDir, workDir) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -612,12 +612,38 @@ func SystemContextFromOptions(c *cobra.Command) (*types.SystemContext, error) { | ||||||
| 		ctx.RegistriesDirPath = regConfDir | 		ctx.RegistriesDirPath = regConfDir | ||||||
| 	} | 	} | ||||||
| 	ctx.DockerRegistryUserAgent = fmt.Sprintf("Buildah/%s", buildah.Version) | 	ctx.DockerRegistryUserAgent = fmt.Sprintf("Buildah/%s", buildah.Version) | ||||||
| 	if os, err := c.Flags().GetString("override-os"); err == nil { | 	if c.Flag("os") != nil && c.Flag("os").Changed { | ||||||
| 		ctx.OSChoice = os | 		if os, err := c.Flags().GetString("os"); err == nil { | ||||||
|  | 			ctx.OSChoice = os | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 	if arch, err := c.Flags().GetString("override-arch"); err == nil { | 	if c.Flag("arch") != nil && c.Flag("arch").Changed { | ||||||
| 		ctx.ArchitectureChoice = arch | 		if arch, err := c.Flags().GetString("arch"); err == nil { | ||||||
|  | 			ctx.ArchitectureChoice = arch | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
|  | 	if c.Flag("variant") != nil && c.Flag("variant").Changed { | ||||||
|  | 		if variant, err := c.Flags().GetString("variant"); err == nil { | ||||||
|  | 			ctx.VariantChoice = variant | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	if c.Flag("platform") != nil && c.Flag("platform").Changed { | ||||||
|  | 		if platform, err := c.Flags().GetString("platform"); err == nil { | ||||||
|  | 			os, arch, variant, err := parsePlatform(platform) | ||||||
|  | 			if err != nil { | ||||||
|  | 				return nil, err | ||||||
|  | 			} | ||||||
|  | 			if ctx.OSChoice != "" || | ||||||
|  | 				ctx.ArchitectureChoice != "" || | ||||||
|  | 				ctx.VariantChoice != "" { | ||||||
|  | 				return nil, errors.Errorf("invalid --platform may not be used with --os, --arch, or --variant") | ||||||
|  | 			} | ||||||
|  | 			ctx.OSChoice = os | ||||||
|  | 			ctx.ArchitectureChoice = arch | ||||||
|  | 			ctx.VariantChoice = variant | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	ctx.BigFilesTemporaryDir = GetTempDir() | 	ctx.BigFilesTemporaryDir = GetTempDir() | ||||||
| 	return ctx, nil | 	return ctx, nil | ||||||
| } | } | ||||||
|  | @ -632,23 +658,27 @@ func getAuthFile(authfile string) string { | ||||||
| // PlatformFromOptions parses the operating system (os) and architecture (arch)
 | // PlatformFromOptions parses the operating system (os) and architecture (arch)
 | ||||||
| // from the provided command line options.
 | // from the provided command line options.
 | ||||||
| func PlatformFromOptions(c *cobra.Command) (os, arch string, err error) { | func PlatformFromOptions(c *cobra.Command) (os, arch string, err error) { | ||||||
| 	os = runtime.GOOS |  | ||||||
| 	arch = runtime.GOARCH |  | ||||||
| 
 | 
 | ||||||
| 	if selectedOS, err := c.Flags().GetString("os"); err == nil && selectedOS != runtime.GOOS { | 	if c.Flag("os").Changed { | ||||||
| 		os = selectedOS | 		if selectedOS, err := c.Flags().GetString("os"); err == nil { | ||||||
| 	} | 			os = selectedOS | ||||||
| 	if selectedArch, err := c.Flags().GetString("arch"); err == nil && selectedArch != runtime.GOARCH { | 		} | ||||||
| 		arch = selectedArch | 	} | ||||||
| 	} | 	if c.Flag("arch").Changed { | ||||||
| 
 | 		if selectedArch, err := c.Flags().GetString("arch"); err == nil { | ||||||
| 	if pf, err := c.Flags().GetString("platform"); err == nil && pf != DefaultPlatform() { | 			arch = selectedArch | ||||||
| 		selectedOS, selectedArch, err := parsePlatform(pf) | 		} | ||||||
| 		if err != nil { | 	} | ||||||
| 			return "", "", errors.Wrap(err, "unable to parse platform") | 
 | ||||||
|  | 	if c.Flag("platform").Changed { | ||||||
|  | 		if pf, err := c.Flags().GetString("platform"); err == nil { | ||||||
|  | 			selectedOS, selectedArch, _, err := parsePlatform(pf) | ||||||
|  | 			if err != nil { | ||||||
|  | 				return "", "", errors.Wrap(err, "unable to parse platform") | ||||||
|  | 			} | ||||||
|  | 			arch = selectedArch | ||||||
|  | 			os = selectedOS | ||||||
| 		} | 		} | ||||||
| 		arch = selectedArch |  | ||||||
| 		os = selectedOS |  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return os, arch, nil | 	return os, arch, nil | ||||||
|  | @ -661,12 +691,17 @@ func DefaultPlatform() string { | ||||||
| 	return runtime.GOOS + platformSep + runtime.GOARCH | 	return runtime.GOOS + platformSep + runtime.GOARCH | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func parsePlatform(platform string) (os, arch string, err error) { | func parsePlatform(platform string) (os, arch, variant string, err error) { | ||||||
| 	split := strings.Split(platform, platformSep) | 	split := strings.Split(platform, platformSep) | ||||||
| 	if len(split) != 2 { | 	if len(split) < 2 { | ||||||
| 		return "", "", errors.Errorf("invalid platform syntax for %q (use OS/ARCH)", platform) | 		return "", "", "", errors.Errorf("invalid platform syntax for %q (use OS/ARCH)", platform) | ||||||
| 	} | 	} | ||||||
| 	return split[0], split[1], nil | 	os = split[0] | ||||||
|  | 	arch = split[1] | ||||||
|  | 	if len(split) == 3 { | ||||||
|  | 		variant = split[2] | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func parseCreds(creds string) (string, string) { | func parseCreds(creds string) (string, string) { | ||||||
|  | @ -938,7 +973,7 @@ func IsolationOption(isolation string) (buildah.Isolation, error) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Device parses device mapping string to a src, dest & permissions string
 | // Device parses device mapping string to a src, dest & permissions string
 | ||||||
| // Valid values for device looklike:
 | // Valid values for device look like:
 | ||||||
| //    '/dev/sdc"
 | //    '/dev/sdc"
 | ||||||
| //    '/dev/sdc:/dev/xvdc"
 | //    '/dev/sdc:/dev/xvdc"
 | ||||||
| //    '/dev/sdc:/dev/xvdc:rwm"
 | //    '/dev/sdc:/dev/xvdc:rwm"
 | ||||||
|  |  | ||||||
|  | @ -292,7 +292,7 @@ func pullImage(ctx context.Context, store storage.Store, srcRef types.ImageRefer | ||||||
| 	}() | 	}() | ||||||
| 
 | 
 | ||||||
| 	logrus.Debugf("copying %q to %q", transports.ImageName(srcRef), destName) | 	logrus.Debugf("copying %q to %q", transports.ImageName(srcRef), destName) | ||||||
| 	if _, err := retryCopyImage(ctx, policyContext, maybeCachedDestRef, srcRef, srcRef, getCopyOptions(store, options.ReportWriter, sc, nil, "", options.RemoveSignatures, "", nil, nil, options.OciDecryptConfig), options.MaxRetries, options.RetryDelay); err != nil { | 	if _, err := retryCopyImage(ctx, policyContext, maybeCachedDestRef, srcRef, srcRef, getCopyOptions(store, options.ReportWriter, sc, sc, "", options.RemoveSignatures, "", nil, nil, options.OciDecryptConfig), options.MaxRetries, options.RetryDelay); err != nil { | ||||||
| 		logrus.Debugf("error copying src image [%q] to dest image [%q] err: %v", transports.ImageName(srcRef), destName, err) | 		logrus.Debugf("error copying src image [%q] to dest image [%q] err: %v", transports.ImageName(srcRef), destName, err) | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -27,7 +27,7 @@ const ( | ||||||
| 	WithTerminal | 	WithTerminal | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // String converts a TerminalPoliicy into a string.
 | // String converts a TerminalPolicy into a string.
 | ||||||
| func (t TerminalPolicy) String() string { | func (t TerminalPolicy) String() string { | ||||||
| 	switch t { | 	switch t { | ||||||
| 	case DefaultTerminal: | 	case DefaultTerminal: | ||||||
|  |  | ||||||
|  | @ -489,14 +489,14 @@ func (b *Builder) setupMounts(mountPoint string, spec *specs.Spec, bundlePath st | ||||||
| 		return errors.Wrapf(err, "error determining work directory for container %q", b.ContainerID) | 		return errors.Wrapf(err, "error determining work directory for container %q", b.ContainerID) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Figure out which UID and GID to tell the subscritions package to use
 | 	// Figure out which UID and GID to tell the subscriptions package to use
 | ||||||
| 	// for files that it creates.
 | 	// for files that it creates.
 | ||||||
| 	rootUID, rootGID, err := util.GetHostRootIDs(spec) | 	rootUID, rootGID, err := util.GetHostRootIDs(spec) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Get the list of subscriptionss mounts.
 | 	// Get the list of subscriptions mounts.
 | ||||||
| 	secretMounts := subscriptions.MountsWithUIDGID(b.MountLabel, cdir, b.DefaultMountsFilePath, mountPoint, int(rootUID), int(rootGID), unshare.IsRootless(), false) | 	secretMounts := subscriptions.MountsWithUIDGID(b.MountLabel, cdir, b.DefaultMountsFilePath, mountPoint, int(rootUID), int(rootGID), unshare.IsRootless(), false) | ||||||
| 
 | 
 | ||||||
| 	// Add temporary copies of the contents of volume locations at the
 | 	// Add temporary copies of the contents of volume locations at the
 | ||||||
|  |  | ||||||
|  | @ -8023,7 +8023,7 @@ paths: | ||||||
|             API-Version: |             API-Version: | ||||||
|               type: "string" |               type: "string" | ||||||
|               description: "Max API Version the server supports" |               description: "Max API Version the server supports" | ||||||
|             BuildKit-Version: |             Builder-Version: | ||||||
|               type: "string" |               type: "string" | ||||||
|               description: "Default version of docker image builder" |               description: "Default version of docker image builder" | ||||||
|             Docker-Experimental: |             Docker-Experimental: | ||||||
|  | @ -8062,7 +8062,7 @@ paths: | ||||||
|             API-Version: |             API-Version: | ||||||
|               type: "string" |               type: "string" | ||||||
|               description: "Max API Version the server supports" |               description: "Max API Version the server supports" | ||||||
|             BuildKit-Version: |             Builder-Version: | ||||||
|               type: "string" |               type: "string" | ||||||
|               description: "Default version of docker image builder" |               description: "Default version of docker image builder" | ||||||
|             Docker-Experimental: |             Docker-Experimental: | ||||||
|  |  | ||||||
|  | @ -113,7 +113,7 @@ type TmpfsOptions struct { | ||||||
| 	// TODO(stevvooe): There are several more tmpfs flags, specified in the
 | 	// TODO(stevvooe): There are several more tmpfs flags, specified in the
 | ||||||
| 	// daemon, that are accepted. Only the most basic are added for now.
 | 	// daemon, that are accepted. Only the most basic are added for now.
 | ||||||
| 	//
 | 	//
 | ||||||
| 	// From docker/docker/pkg/mount/flags.go:
 | 	// From https://github.com/moby/sys/blob/mount/v0.1.1/mount/flags.go#L47-L56
 | ||||||
| 	//
 | 	//
 | ||||||
| 	// var validFlags = map[string]bool{
 | 	// var validFlags = map[string]bool{
 | ||||||
| 	// 	"":          true,
 | 	// 	"":          true,
 | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| // +build !windows
 | // +build !darwin,!windows
 | ||||||
| 
 | 
 | ||||||
| package system // import "github.com/docker/docker/pkg/system"
 | package system // import "github.com/docker/docker/pkg/system"
 | ||||||
| 
 | 
 | ||||||
|  | @ -4,7 +4,7 @@ go 1.13 | ||||||
| 
 | 
 | ||||||
| require ( | require ( | ||||||
| 	github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 | 	github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 | ||||||
| 	github.com/creack/pty v1.1.9 | 	github.com/creack/pty v1.1.11 | ||||||
| 	github.com/google/go-cmp v0.4.0 | 	github.com/google/go-cmp v0.4.0 | ||||||
| 	github.com/pkg/errors v0.9.1 // indirect | 	github.com/pkg/errors v0.9.1 // indirect | ||||||
| 	golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a | 	golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| 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 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8= | ||||||
| github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= | github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= | ||||||
| github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= | github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= | ||||||
| github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= | github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= | ||||||
| github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | ||||||
| github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= | github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= | ||||||
| github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||||||
|  |  | ||||||
|  | @ -71,19 +71,22 @@ func StdStreams() (stdIn io.ReadCloser, stdOut, stdErr io.Writer) { | ||||||
| 	// go-ansiterm hasn't switch to x/sys/windows.
 | 	// go-ansiterm hasn't switch to x/sys/windows.
 | ||||||
| 	// TODO: switch back to x/sys/windows once go-ansiterm has switched
 | 	// TODO: switch back to x/sys/windows once go-ansiterm has switched
 | ||||||
| 	if emulateStdin { | 	if emulateStdin { | ||||||
| 		stdIn = windowsconsole.NewAnsiReader(windows.STD_INPUT_HANDLE) | 		h := uint32(windows.STD_INPUT_HANDLE) | ||||||
|  | 		stdIn = windowsconsole.NewAnsiReader(int(h)) | ||||||
| 	} else { | 	} else { | ||||||
| 		stdIn = os.Stdin | 		stdIn = os.Stdin | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if emulateStdout { | 	if emulateStdout { | ||||||
| 		stdOut = windowsconsole.NewAnsiWriter(windows.STD_OUTPUT_HANDLE) | 		h := uint32(windows.STD_OUTPUT_HANDLE) | ||||||
|  | 		stdOut = windowsconsole.NewAnsiWriter(int(h)) | ||||||
| 	} else { | 	} else { | ||||||
| 		stdOut = os.Stdout | 		stdOut = os.Stdout | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if emulateStderr { | 	if emulateStderr { | ||||||
| 		stdErr = windowsconsole.NewAnsiWriter(windows.STD_ERROR_HANDLE) | 		h := uint32(windows.STD_ERROR_HANDLE) | ||||||
|  | 		stdErr = windowsconsole.NewAnsiWriter(int(h)) | ||||||
| 	} else { | 	} else { | ||||||
| 		stdErr = os.Stderr | 		stdErr = os.Stderr | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -70,7 +70,7 @@ github.com/containernetworking/plugins/pkg/utils/hwaddr | ||||||
| github.com/containernetworking/plugins/pkg/utils/sysctl | github.com/containernetworking/plugins/pkg/utils/sysctl | ||||||
| github.com/containernetworking/plugins/plugins/ipam/host-local/backend | github.com/containernetworking/plugins/plugins/ipam/host-local/backend | ||||||
| github.com/containernetworking/plugins/plugins/ipam/host-local/backend/allocator | github.com/containernetworking/plugins/plugins/ipam/host-local/backend/allocator | ||||||
| # github.com/containers/buildah v1.18.1-0.20201222143428-b9fdee076426 | # github.com/containers/buildah v1.19.2 | ||||||
| github.com/containers/buildah | github.com/containers/buildah | ||||||
| github.com/containers/buildah/bind | github.com/containers/buildah/bind | ||||||
| github.com/containers/buildah/chroot | github.com/containers/buildah/chroot | ||||||
|  | @ -242,7 +242,7 @@ github.com/docker/distribution/registry/client/auth/challenge | ||||||
| github.com/docker/distribution/registry/client/transport | github.com/docker/distribution/registry/client/transport | ||||||
| github.com/docker/distribution/registry/storage/cache | github.com/docker/distribution/registry/storage/cache | ||||||
| github.com/docker/distribution/registry/storage/cache/memory | github.com/docker/distribution/registry/storage/cache/memory | ||||||
| # github.com/docker/docker v17.12.0-ce-rc1.0.20201020191947-73dc6a680cdd+incompatible | # github.com/docker/docker v20.10.0-beta1.0.20201113105859-b6bfff2a628f+incompatible | ||||||
| github.com/docker/docker/api | github.com/docker/docker/api | ||||||
| github.com/docker/docker/api/types | github.com/docker/docker/api/types | ||||||
| github.com/docker/docker/api/types/blkiodev | github.com/docker/docker/api/types/blkiodev | ||||||
|  | @ -379,7 +379,7 @@ github.com/mistifyio/go-zfs | ||||||
| github.com/moby/sys/mount | github.com/moby/sys/mount | ||||||
| # github.com/moby/sys/mountinfo v0.4.0 | # github.com/moby/sys/mountinfo v0.4.0 | ||||||
| github.com/moby/sys/mountinfo | github.com/moby/sys/mountinfo | ||||||
| # github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2 | # github.com/moby/term v0.0.0-20201110203204-bea5bbe245bf | ||||||
| github.com/moby/term | github.com/moby/term | ||||||
| github.com/moby/term/windows | github.com/moby/term/windows | ||||||
| # github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd | # github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue