mirror of
https://github.com/containers/podman.git
synced 2025-12-02 19:28:58 +08:00
Vendor in latest containers/buildah code
This should improve the speed of podman build. Has fixes from containres/image for parallell pull. Also vendor containers/storage and containers/image Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
3
vendor/github.com/containers/buildah/config.go
generated
vendored
3
vendor/github.com/containers/buildah/config.go
generated
vendored
@@ -474,9 +474,6 @@ func (b *Builder) Hostname() string {
|
||||
// Note: this setting is not present in the OCIv1 image format, so it is
|
||||
// discarded when writing images using OCIv1 formats.
|
||||
func (b *Builder) SetHostname(name string) {
|
||||
if name != "" && b.Format != Dockerv2ImageManifest {
|
||||
logrus.Errorf("HOSTNAME is not supported for OCI image format, hostname %s will be ignored. Must use `docker` format", name)
|
||||
}
|
||||
b.Docker.Config.Hostname = name
|
||||
}
|
||||
|
||||
|
||||
4
vendor/github.com/containers/buildah/image.go
generated
vendored
4
vendor/github.com/containers/buildah/image.go
generated
vendored
@@ -557,6 +557,10 @@ func (i *containerImageSource) LayerInfosForCopy(ctx context.Context) ([]types.B
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (i *containerImageSource) HasThreadSafeGetBlob() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (i *containerImageSource) GetBlob(ctx context.Context, blob types.BlobInfo, cache types.BlobInfoCache) (reader io.ReadCloser, size int64, err error) {
|
||||
if blob.Digest == i.configDigest {
|
||||
logrus.Debugf("start reading config")
|
||||
|
||||
7
vendor/github.com/containers/buildah/imagebuildah/build.go
generated
vendored
7
vendor/github.com/containers/buildah/imagebuildah/build.go
generated
vendored
@@ -1307,7 +1307,12 @@ func (b *Executor) Build(ctx context.Context, stages imagebuilder.Stages) (strin
|
||||
|
||||
var imageRef reference.Canonical
|
||||
imageID := ""
|
||||
if !b.layers && !b.noCache {
|
||||
|
||||
// Check if we have a one line Dockerfile making layers irrelevant
|
||||
// or the user told us to ignore layers.
|
||||
ignoreLayers := (len(stages) < 2 && len(stages[0].Node.Children) < 2) || (!b.layers && !b.noCache)
|
||||
|
||||
if ignoreLayers {
|
||||
imgID, ref, err := stageExecutor.Commit(ctx, stages[len(stages)-1].Builder, "")
|
||||
if err != nil {
|
||||
return "", nil, err
|
||||
|
||||
5
vendor/github.com/containers/buildah/imagebuildah/chroot_symlink.go
generated
vendored
5
vendor/github.com/containers/buildah/imagebuildah/chroot_symlink.go
generated
vendored
@@ -131,6 +131,11 @@ func resolveModifiedTime(rootdir, filename, historyTime string) (bool, error) {
|
||||
func modTimeIsGreater(rootdir, path string, historyTime string) (bool, error) {
|
||||
var timeIsGreater bool
|
||||
|
||||
// the Walk below doesn't work if rootdir and path are equal
|
||||
if rootdir == path {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
// Convert historyTime from string to time.Time for comparison
|
||||
histTime, err := time.Parse(time.RFC3339Nano, historyTime)
|
||||
if err != nil {
|
||||
|
||||
8
vendor/github.com/containers/buildah/pkg/blobcache/blobcache.go
generated
vendored
8
vendor/github.com/containers/buildah/pkg/blobcache/blobcache.go
generated
vendored
@@ -218,6 +218,10 @@ func (s *blobCacheSource) GetManifest(ctx context.Context, instanceDigest *diges
|
||||
return s.source.GetManifest(ctx, instanceDigest)
|
||||
}
|
||||
|
||||
func (s *blobCacheSource) HasThreadSafeGetBlob() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (s *blobCacheSource) GetBlob(ctx context.Context, blobinfo types.BlobInfo, cache types.BlobInfoCache) (io.ReadCloser, int64, error) {
|
||||
present, size, err := s.reference.HasBlob(blobinfo)
|
||||
if err != nil {
|
||||
@@ -398,6 +402,10 @@ func saveStream(wg *sync.WaitGroup, decompressReader io.ReadCloser, tempFile *os
|
||||
}
|
||||
}
|
||||
|
||||
func (s *blobCacheDestination) HasThreadSafePutBlob() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (d *blobCacheDestination) PutBlob(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, cache types.BlobInfoCache, isConfig bool) (types.BlobInfo, error) {
|
||||
var tempfile *os.File
|
||||
var err error
|
||||
|
||||
4
vendor/github.com/containers/buildah/pkg/cli/common.go
generated
vendored
4
vendor/github.com/containers/buildah/pkg/cli/common.go
generated
vendored
@@ -148,6 +148,10 @@ var (
|
||||
Name: "loglevel",
|
||||
Usage: "adjust logging level (range from -2 to 3)",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "platform",
|
||||
Usage: "CLI compatibility: no action or effect",
|
||||
},
|
||||
cli.BoolTFlag{
|
||||
Name: "pull",
|
||||
Usage: "pull the image if not present",
|
||||
|
||||
16
vendor/github.com/containers/buildah/run.go
generated
vendored
16
vendor/github.com/containers/buildah/run.go
generated
vendored
@@ -26,6 +26,7 @@ import (
|
||||
"github.com/containers/storage/pkg/idtools"
|
||||
"github.com/containers/storage/pkg/ioutils"
|
||||
"github.com/containers/storage/pkg/reexec"
|
||||
"github.com/containers/storage/pkg/stringid"
|
||||
units "github.com/docker/go-units"
|
||||
digest "github.com/opencontainers/go-digest"
|
||||
"github.com/opencontainers/runtime-spec/specs-go"
|
||||
@@ -944,10 +945,25 @@ func (b *Builder) configureNamespaces(g *generate.Generator, options RunOptions)
|
||||
g.SetHostname(options.Hostname)
|
||||
} else if b.Hostname() != "" {
|
||||
g.SetHostname(b.Hostname())
|
||||
} else {
|
||||
g.SetHostname(stringid.TruncateID(b.ContainerID))
|
||||
}
|
||||
} else {
|
||||
g.SetHostname("")
|
||||
}
|
||||
|
||||
found := false
|
||||
spec := g.Spec()
|
||||
for i := range spec.Process.Env {
|
||||
if strings.HasPrefix(spec.Process.Env[i], "HOSTNAME=") {
|
||||
found = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !found {
|
||||
spec.Process.Env = append(spec.Process.Env, fmt.Sprintf("HOSTNAME=%s", spec.Hostname))
|
||||
}
|
||||
|
||||
return configureNetwork, configureNetworks, nil
|
||||
}
|
||||
|
||||
|
||||
3
vendor/github.com/containers/buildah/unshare/unshare.c
generated
vendored
3
vendor/github.com/containers/buildah/unshare/unshare.c
generated
vendored
@@ -79,7 +79,8 @@ void _buildah_unshare(void)
|
||||
pidfd = _buildah_unshare_parse_envint("_Buildah-pid-pipe");
|
||||
if (pidfd != -1) {
|
||||
snprintf(buf, sizeof(buf), "%llu", (unsigned long long) getpid());
|
||||
if (write(pidfd, buf, strlen(buf)) != strlen(buf)) {
|
||||
size_t size = write(pidfd, buf, strlen(buf));
|
||||
if (size != strlen(buf)) {
|
||||
fprintf(stderr, "Error writing PID to pipe on fd %d: %m\n", pidfd);
|
||||
_exit(1);
|
||||
}
|
||||
|
||||
50
vendor/github.com/containers/buildah/util/util.go
generated
vendored
50
vendor/github.com/containers/buildah/util/util.go
generated
vendored
@@ -395,57 +395,11 @@ func GetSubIDMappings(user, group string) ([]specs.LinuxIDMapping, []specs.Linux
|
||||
|
||||
// ParseIDMappings parses mapping triples.
|
||||
func ParseIDMappings(uidmap, gidmap []string) ([]idtools.IDMap, []idtools.IDMap, error) {
|
||||
nonDigitsToWhitespace := func(r rune) rune {
|
||||
if strings.IndexRune("0123456789", r) == -1 {
|
||||
return ' '
|
||||
} else {
|
||||
return r
|
||||
}
|
||||
}
|
||||
parseTriple := func(spec []string) (container, host, size uint32, err error) {
|
||||
cid, err := strconv.ParseUint(spec[0], 10, 32)
|
||||
if err != nil {
|
||||
return 0, 0, 0, fmt.Errorf("error parsing id map value %q: %v", spec[0], err)
|
||||
}
|
||||
hid, err := strconv.ParseUint(spec[1], 10, 32)
|
||||
if err != nil {
|
||||
return 0, 0, 0, fmt.Errorf("error parsing id map value %q: %v", spec[1], err)
|
||||
}
|
||||
sz, err := strconv.ParseUint(spec[2], 10, 32)
|
||||
if err != nil {
|
||||
return 0, 0, 0, fmt.Errorf("error parsing id map value %q: %v", spec[2], err)
|
||||
}
|
||||
return uint32(cid), uint32(hid), uint32(sz), nil
|
||||
}
|
||||
parseIDMap := func(mapSpec []string, mapSetting string) (idmap []idtools.IDMap, err error) {
|
||||
for _, idMapSpec := range mapSpec {
|
||||
idSpec := strings.Fields(strings.Map(nonDigitsToWhitespace, idMapSpec))
|
||||
if len(idSpec)%3 != 0 {
|
||||
return nil, errors.Errorf("error initializing ID mappings: %s setting is malformed", mapSetting)
|
||||
}
|
||||
for i := range idSpec {
|
||||
if i%3 != 0 {
|
||||
continue
|
||||
}
|
||||
cid, hid, size, err := parseTriple(idSpec[i : i+3])
|
||||
if err != nil {
|
||||
return nil, errors.Errorf("error initializing ID mappings: %s setting is malformed", mapSetting)
|
||||
}
|
||||
mapping := idtools.IDMap{
|
||||
ContainerID: int(cid),
|
||||
HostID: int(hid),
|
||||
Size: int(size),
|
||||
}
|
||||
idmap = append(idmap, mapping)
|
||||
}
|
||||
}
|
||||
return idmap, nil
|
||||
}
|
||||
uid, err := parseIDMap(uidmap, "userns-uid-map")
|
||||
uid, err := idtools.ParseIDMap(uidmap, "userns-uid-map")
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
gid, err := parseIDMap(gidmap, "userns-gid-map")
|
||||
gid, err := idtools.ParseIDMap(gidmap, "userns-gid-map")
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
14
vendor/github.com/containers/buildah/vendor.conf
generated
vendored
14
vendor/github.com/containers/buildah/vendor.conf
generated
vendored
@@ -3,10 +3,10 @@ github.com/blang/semver master
|
||||
github.com/BurntSushi/toml master
|
||||
github.com/containerd/continuity master
|
||||
github.com/containernetworking/cni v0.7.0-alpha1
|
||||
github.com/containers/image d53afe179b381fafb427e6b9cf9b1996a98c1067
|
||||
github.com/containers/image 0c6cc8e1420001ae39fa89d308b3b3bc5ee81c57
|
||||
github.com/boltdb/bolt master
|
||||
github.com/containers/libpod fe4f09493f41f675d24c969d1b60d1a6a45ddb9e
|
||||
github.com/containers/storage db40f96d853dfced60c563e61fb66ba231ce7c8d
|
||||
github.com/containers/libpod c8eaf59d5f4bec249db8134c6a9fcfbcac792519
|
||||
github.com/containers/storage 60a692f7ce891feb91ce0eda87bd06bfd5651dff
|
||||
github.com/docker/distribution 5f6282db7d65e6d72ad7c2cc66310724a57be716
|
||||
github.com/docker/docker 86f080cff0914e9694068ed78d503701667c4c00
|
||||
github.com/docker/docker-credential-helpers d68f9aeca33f5fd3f08eeae5e9d175edf4e731d1
|
||||
@@ -32,7 +32,7 @@ github.com/mistifyio/go-zfs master
|
||||
github.com/moby/moby f8806b18b4b92c5e1980f6e11c917fad201cd73c
|
||||
github.com/mtrmac/gpgme master
|
||||
github.com/Nvveen/Gotty master
|
||||
github.com/opencontainers/go-digest aa2ec055abd10d26d539eb630a92241b781ce4bc
|
||||
github.com/opencontainers/go-digest c9281466c8b2f606084ac71339773efd177436e7
|
||||
github.com/opencontainers/image-spec v1.0.0
|
||||
github.com/opencontainers/runc master
|
||||
github.com/opencontainers/runtime-spec v1.0.0
|
||||
@@ -55,10 +55,14 @@ github.com/xeipuuv/gojsonreference master
|
||||
github.com/xeipuuv/gojsonschema master
|
||||
golang.org/x/crypto master
|
||||
golang.org/x/net master
|
||||
golang.org/x/sync 42b317875d0fa942474b76e1b46a6060d720ae6e
|
||||
golang.org/x/sys master
|
||||
golang.org/x/text master
|
||||
gopkg.in/cheggaaa/pb.v1 v1.0.13
|
||||
gopkg.in/cheggaaa/pb.v1 v1.0.27
|
||||
gopkg.in/yaml.v2 cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b
|
||||
k8s.io/apimachinery master
|
||||
k8s.io/client-go master
|
||||
k8s.io/kubernetes master
|
||||
github.com/klauspost/pgzip v1.2.1
|
||||
github.com/klauspost/compress v1.4.1
|
||||
github.com/klauspost/cpuid v1.2.0
|
||||
|
||||
Reference in New Issue
Block a user