diff options
Diffstat (limited to 'vendor/github.com/projectatomic/buildah/util.go')
-rw-r--r-- | vendor/github.com/projectatomic/buildah/util.go | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/vendor/github.com/projectatomic/buildah/util.go b/vendor/github.com/projectatomic/buildah/util.go index 661221ebc..3e86d8c0e 100644 --- a/vendor/github.com/projectatomic/buildah/util.go +++ b/vendor/github.com/projectatomic/buildah/util.go @@ -2,11 +2,8 @@ package buildah import ( "archive/tar" - "bufio" "io" "os" - "strconv" - "strings" "sync" "github.com/containers/image/docker/reference" @@ -41,15 +38,6 @@ func copyStringSlice(s []string) []string { return t } -func stringInSlice(s string, slice []string) bool { - for _, v := range slice { - if v == s { - return true - } - } - return false -} - func convertStorageIDMaps(UIDMap, GIDMap []idtools.IDMap) ([]rspec.LinuxIDMapping, []rspec.LinuxIDMapping) { uidmap := make([]rspec.LinuxIDMapping, 0, len(UIDMap)) gidmap := make([]rspec.LinuxIDMapping, 0, len(GIDMap)) @@ -178,77 +166,6 @@ func (b *Builder) tarPath() func(path string) (io.ReadCloser, error) { } } -// getProcIDMappings reads mappings from the named node under /proc. -func getProcIDMappings(path string) ([]rspec.LinuxIDMapping, error) { - var mappings []rspec.LinuxIDMapping - f, err := os.Open(path) - if err != nil { - return nil, errors.Wrapf(err, "error reading ID mappings from %q", path) - } - defer f.Close() - scanner := bufio.NewScanner(f) - for scanner.Scan() { - line := scanner.Text() - fields := strings.Fields(line) - if len(fields) != 3 { - return nil, errors.Errorf("line %q from %q has %d fields, not 3", line, path, len(fields)) - } - cid, err := strconv.ParseUint(fields[0], 10, 32) - if err != nil { - return nil, errors.Wrapf(err, "error parsing container ID value %q from line %q in %q", fields[0], line, path) - } - hid, err := strconv.ParseUint(fields[1], 10, 32) - if err != nil { - return nil, errors.Wrapf(err, "error parsing host ID value %q from line %q in %q", fields[1], line, path) - } - size, err := strconv.ParseUint(fields[2], 10, 32) - if err != nil { - return nil, errors.Wrapf(err, "error parsing size value %q from line %q in %q", fields[2], line, path) - } - mappings = append(mappings, rspec.LinuxIDMapping{ContainerID: uint32(cid), HostID: uint32(hid), Size: uint32(size)}) - } - return mappings, nil -} - -// getHostIDs uses ID mappings to compute the host-level IDs that will -// correspond to a UID/GID pair in the container. -func getHostIDs(uidmap, gidmap []rspec.LinuxIDMapping, uid, gid uint32) (uint32, uint32, error) { - uidMapped := true - for _, m := range uidmap { - uidMapped = false - if uid >= m.ContainerID && uid < m.ContainerID+m.Size { - uid = (uid - m.ContainerID) + m.HostID - uidMapped = true - break - } - } - if !uidMapped { - return 0, 0, errors.Errorf("container uses ID mappings, but doesn't map UID %d", uid) - } - gidMapped := true - for _, m := range gidmap { - gidMapped = false - if gid >= m.ContainerID && gid < m.ContainerID+m.Size { - gid = (gid - m.ContainerID) + m.HostID - gidMapped = true - break - } - } - if !gidMapped { - return 0, 0, errors.Errorf("container uses ID mappings, but doesn't map GID %d", gid) - } - return uid, gid, nil -} - -// getHostRootIDs uses ID mappings in spec to compute the host-level IDs that will -// correspond to UID/GID 0/0 in the container. -func getHostRootIDs(spec *rspec.Spec) (uint32, uint32, error) { - if spec.Linux == nil { - return 0, 0, nil - } - return getHostIDs(spec.Linux.UIDMappings, spec.Linux.GIDMappings, 0, 0) -} - // getRegistries obtains the list of registries defined in the global registries file. func getRegistries() ([]string, error) { registryConfigPath := "" |