summaryrefslogtreecommitdiff
path: root/vendor/github.com/projectatomic/buildah
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2018-05-15 17:29:09 -0400
committerAtomic Bot <atomic-devel@projectatomic.io>2018-05-16 14:39:55 +0000
commit9fcc475d033d7f1718e9490e8944de7f31a2bbab (patch)
treeee2c2c93392a188b4392ab64649b929d1e60f027 /vendor/github.com/projectatomic/buildah
parent1aaf8df5be32d755a3f72f9259c66c70fbf850d8 (diff)
downloadpodman-9fcc475d033d7f1718e9490e8944de7f31a2bbab.tar.gz
podman-9fcc475d033d7f1718e9490e8944de7f31a2bbab.tar.bz2
podman-9fcc475d033d7f1718e9490e8944de7f31a2bbab.zip
Support pulling Dockerfile from http
Currently podman build http://remote.com/Dockerfile does not work. podman always treats this file as an Archive. Vendoring in the latest buildah code fixes this issue. Also updated the man pages to better explain the syntax. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> Closes: #775 Approved by: TomSweeneyRedHat
Diffstat (limited to 'vendor/github.com/projectatomic/buildah')
-rw-r--r--vendor/github.com/projectatomic/buildah/buildah.go2
-rw-r--r--vendor/github.com/projectatomic/buildah/imagebuildah/util.go19
-rw-r--r--vendor/github.com/projectatomic/buildah/pkg/cli/common.go18
-rw-r--r--vendor/github.com/projectatomic/buildah/pkg/parse/parse.go4
-rw-r--r--vendor/github.com/projectatomic/buildah/run.go10
5 files changed, 37 insertions, 16 deletions
diff --git a/vendor/github.com/projectatomic/buildah/buildah.go b/vendor/github.com/projectatomic/buildah/buildah.go
index da07e37eb..a14ec0a61 100644
--- a/vendor/github.com/projectatomic/buildah/buildah.go
+++ b/vendor/github.com/projectatomic/buildah/buildah.go
@@ -22,7 +22,7 @@ const (
Package = "buildah"
// Version for the Package. Bump version in contrib/rpm/buildah.spec
// too.
- Version = "0.16"
+ Version = "1.0"
// The value we use to identify what type of information, currently a
// serialized Builder structure, we are using as per-container state.
// This should only be changed when we make incompatible changes to
diff --git a/vendor/github.com/projectatomic/buildah/imagebuildah/util.go b/vendor/github.com/projectatomic/buildah/imagebuildah/util.go
index 805cfce44..b437ea1cb 100644
--- a/vendor/github.com/projectatomic/buildah/imagebuildah/util.go
+++ b/vendor/github.com/projectatomic/buildah/imagebuildah/util.go
@@ -7,6 +7,7 @@ import (
"os"
"os/exec"
"path"
+ "path/filepath"
"strings"
"github.com/containers/storage/pkg/chrootarchive"
@@ -34,7 +35,23 @@ func downloadToDirectory(url, dir string) error {
if resp.ContentLength == 0 {
return errors.Errorf("no contents in %q", url)
}
- return chrootarchive.Untar(resp.Body, dir, nil)
+ if err := chrootarchive.Untar(resp.Body, dir, nil); err != nil {
+ resp1, err := http.Get(url)
+ if err != nil {
+ return errors.Wrapf(err, "error getting %q", url)
+ }
+ defer resp1.Body.Close()
+ body, err := ioutil.ReadAll(resp1.Body)
+ if err != nil {
+ return errors.Wrapf(err, "Failed to read %q", url)
+ }
+ dockerfile := filepath.Join(dir, "Dockerfile")
+ // Assume this is a Dockerfile
+ if err := ioutil.WriteFile(dockerfile, body, 0600); err != nil {
+ return errors.Wrapf(err, "Failed to write %q to %q", url, dockerfile)
+ }
+ }
+ return nil
}
// TempDirForURL checks if the passed-in string looks like a URL. If it is,
diff --git a/vendor/github.com/projectatomic/buildah/pkg/cli/common.go b/vendor/github.com/projectatomic/buildah/pkg/cli/common.go
index ea9114688..eeabc3ee7 100644
--- a/vendor/github.com/projectatomic/buildah/pkg/cli/common.go
+++ b/vendor/github.com/projectatomic/buildah/pkg/cli/common.go
@@ -20,6 +20,10 @@ var (
Usage: "`argument=value` to supply to the builder",
},
cli.StringFlag{
+ Name: "cache-from",
+ Usage: "Images to utilise as potential cache sources. Buildah does not currently support caching so this is a NOOP.",
+ },
+ cli.StringFlag{
Name: "cert-dir",
Value: "",
Usage: "use certificates at the specified path to access the registry",
@@ -37,6 +41,10 @@ var (
Name: "file, f",
Usage: "`pathname or URL` of a Dockerfile",
},
+ cli.BoolFlag{
+ Name: "force-rm",
+ Usage: "Always remove intermediate containers after a build. Buildah does not currently support caching so this is a NOOP.",
+ },
cli.StringFlag{
Name: "format",
Usage: "`format` of the built image's manifest and metadata",
@@ -45,6 +53,10 @@ var (
Name: "iidfile",
Usage: "Write the image ID to the file",
},
+ cli.BoolFlag{
+ Name: "no-cache",
+ Usage: "Do not use caching for the container build. Buildah does not currently support caching so this is a NOOP.",
+ },
cli.BoolTFlag{
Name: "pull",
Usage: "pull the image if not present",
@@ -59,7 +71,7 @@ var (
},
cli.BoolFlag{
Name: "rm",
- Usage: "Remove intermediate containers after a successful build. Buildah does not currently support cacheing so this is a NOOP.",
+ Usage: "Remove intermediate containers after a successful build. Buildah does not currently support caching so this is a NOOP.",
},
cli.StringFlag{
Name: "runtime",
@@ -76,7 +88,7 @@ var (
},
cli.BoolFlag{
Name: "squash",
- Usage: "Squash newly built layers into a single new layer. Buildah does not currently support cacheing so this is a NOOP.",
+ Usage: "Squash newly built layers into a single new layer. Buildah does not currently support caching so this is a NOOP.",
},
cli.StringSliceFlag{
Name: "tag, t",
@@ -106,7 +118,7 @@ var (
Usage: "limit the CPU CFS (Completely Fair Scheduler) quota",
},
cli.Uint64Flag{
- Name: "cpu-shares",
+ Name: "cpu-shares, c",
Usage: "CPU shares (relative weight)",
},
cli.StringFlag{
diff --git a/vendor/github.com/projectatomic/buildah/pkg/parse/parse.go b/vendor/github.com/projectatomic/buildah/pkg/parse/parse.go
index 505601f25..6512aad52 100644
--- a/vendor/github.com/projectatomic/buildah/pkg/parse/parse.go
+++ b/vendor/github.com/projectatomic/buildah/pkg/parse/parse.go
@@ -180,9 +180,9 @@ func validateVolumeOpts(option string) error {
return errors.Errorf("invalid options %q, can only specify 1 'z' or 'Z' option", option)
}
foundLabelChange++
- case "private", "rprivate", "shared", "rshared", "slave", "rslave":
+ case "private", "rprivate", "shared", "rshared", "slave", "rslave", "unbindable", "runbindable":
if foundRootPropagation > 1 {
- return errors.Errorf("invalid options %q, can only specify 1 '[r]shared', '[r]private' or '[r]slave' option", option)
+ return errors.Errorf("invalid options %q, can only specify 1 '[r]shared', '[r]private', '[r]slave' or '[r]unbindable' option", option)
}
foundRootPropagation++
default:
diff --git a/vendor/github.com/projectatomic/buildah/run.go b/vendor/github.com/projectatomic/buildah/run.go
index b45a0e3a6..50edc9434 100644
--- a/vendor/github.com/projectatomic/buildah/run.go
+++ b/vendor/github.com/projectatomic/buildah/run.go
@@ -326,15 +326,7 @@ func (b *Builder) Run(command []string, options RunOptions) error {
if len(command) > 0 {
g.SetProcessArgs(command)
} else {
- cmd := b.Cmd()
- if len(options.Cmd) > 0 {
- cmd = options.Cmd
- }
- entrypoint := b.Entrypoint()
- if len(options.Entrypoint) > 0 {
- entrypoint = options.Entrypoint
- }
- g.SetProcessArgs(append(entrypoint, cmd...))
+ g.SetProcessArgs(nil)
}
if options.WorkingDir != "" {
g.SetProcessCwd(options.WorkingDir)