mirror of
https://github.com/containers/skopeo.git
synced 2025-08-05 16:44:27 +00:00
Bump c/storage to v1.24.8 and c/image to v5.10.5 for RHEL 8.4 in release-1.2
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
This commit is contained in:
parent
560a34af1b
commit
5a117bfc13
4
go.mod
4
go.mod
@ -4,9 +4,9 @@ go 1.12
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/containers/common v0.33.4
|
github.com/containers/common v0.33.4
|
||||||
github.com/containers/image/v5 v5.10.2
|
github.com/containers/image/v5 v5.10.5
|
||||||
github.com/containers/ocicrypt v1.0.3
|
github.com/containers/ocicrypt v1.0.3
|
||||||
github.com/containers/storage v1.24.6
|
github.com/containers/storage v1.24.8
|
||||||
github.com/docker/docker v17.12.0-ce-rc1.0.20201020191947-73dc6a680cdd+incompatible
|
github.com/docker/docker v17.12.0-ce-rc1.0.20201020191947-73dc6a680cdd+incompatible
|
||||||
github.com/dsnet/compress v0.0.1 // indirect
|
github.com/dsnet/compress v0.0.1 // indirect
|
||||||
github.com/go-check/check v0.0.0-20180628173108-788fd7840127
|
github.com/go-check/check v0.0.0-20180628173108-788fd7840127
|
||||||
|
8
go.sum
8
go.sum
@ -63,16 +63,16 @@ github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kw
|
|||||||
github.com/containers/common v0.33.4 h1:f1jowItfo6xw0bZGZq8oE5dw1pBIkldqB0FqW+HHzG8=
|
github.com/containers/common v0.33.4 h1:f1jowItfo6xw0bZGZq8oE5dw1pBIkldqB0FqW+HHzG8=
|
||||||
github.com/containers/common v0.33.4/go.mod h1:PhgL71XuC4jJ/1BIqeP7doke3aMFkCP90YBXwDeUr9g=
|
github.com/containers/common v0.33.4/go.mod h1:PhgL71XuC4jJ/1BIqeP7doke3aMFkCP90YBXwDeUr9g=
|
||||||
github.com/containers/image/v5 v5.10.1/go.mod h1:JlRLJZv7elVbtHaaaR6Kz8i6G3k2ttj4t7fubwxD9Hs=
|
github.com/containers/image/v5 v5.10.1/go.mod h1:JlRLJZv7elVbtHaaaR6Kz8i6G3k2ttj4t7fubwxD9Hs=
|
||||||
github.com/containers/image/v5 v5.10.2 h1:STD9GYR9p/X0qTLmBYsyx8dEM7zQW+qZ8KHoL/64fkg=
|
github.com/containers/image/v5 v5.10.5 h1:VK1UbsZMzjdw5Xqr3Im9h4iOqHWU0naFs+I78kavc7I=
|
||||||
github.com/containers/image/v5 v5.10.2/go.mod h1:JlRLJZv7elVbtHaaaR6Kz8i6G3k2ttj4t7fubwxD9Hs=
|
github.com/containers/image/v5 v5.10.5/go.mod h1:SgIbWEedCNBbn2FI5cH0/jed1Ecy2s8XK5zTxvJTzII=
|
||||||
github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b h1:Q8ePgVfHDplZ7U33NwHZkrVELsZP5fYj9pM5WBZB2GE=
|
github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b h1:Q8ePgVfHDplZ7U33NwHZkrVELsZP5fYj9pM5WBZB2GE=
|
||||||
github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b/go.mod h1:9rfv8iPl1ZP7aqh9YA68wnZv2NUDbXdcdPHVz0pFbPY=
|
github.com/containers/libtrust v0.0.0-20190913040956-14b96171aa3b/go.mod h1:9rfv8iPl1ZP7aqh9YA68wnZv2NUDbXdcdPHVz0pFbPY=
|
||||||
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.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/containers/storage v1.24.6 h1:9PBb9PoGuj5B/3MGfxx//RmUjMAklmx3rBbuCkuIc94=
|
github.com/containers/storage v1.24.8 h1:v3pliVY5Jx1ZNJDoyCvRBrXMxlGLakBsxbBVWoaCI8Q=
|
||||||
github.com/containers/storage v1.24.6/go.mod h1:YC+2pY8SkfEAcZkwycxYbpK8EiRbx5soPPwz9dxe4IQ=
|
github.com/containers/storage v1.24.8/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=
|
||||||
|
41
vendor/github.com/containers/image/v5/copy/copy.go
generated
vendored
41
vendor/github.com/containers/image/v5/copy/copy.go
generated
vendored
@ -1067,6 +1067,26 @@ type diffIDResult struct {
|
|||||||
// copyLayer copies a layer with srcInfo (with known Digest and Annotations and possibly known Size) in src to dest, perhaps (de/re/)compressing it,
|
// copyLayer copies a layer with srcInfo (with known Digest and Annotations and possibly known Size) in src to dest, perhaps (de/re/)compressing it,
|
||||||
// and returns a complete blobInfo of the copied layer, and a value for LayerDiffIDs if diffIDIsNeeded
|
// and returns a complete blobInfo of the copied layer, and a value for LayerDiffIDs if diffIDIsNeeded
|
||||||
func (ic *imageCopier) copyLayer(ctx context.Context, srcInfo types.BlobInfo, toEncrypt bool, pool *mpb.Progress) (types.BlobInfo, digest.Digest, error) {
|
func (ic *imageCopier) copyLayer(ctx context.Context, srcInfo types.BlobInfo, toEncrypt bool, pool *mpb.Progress) (types.BlobInfo, digest.Digest, error) {
|
||||||
|
// If the srcInfo doesn't contain compression information, try to compute it from the
|
||||||
|
// MediaType, which was either read from a manifest by way of LayerInfos() or constructed
|
||||||
|
// by LayerInfosForCopy(), if it was supplied at all. If we succeed in copying the blob,
|
||||||
|
// the BlobInfo we return will be passed to UpdatedImage() and then to UpdateLayerInfos(),
|
||||||
|
// which uses the compression information to compute the updated MediaType values.
|
||||||
|
// (Sadly UpdatedImage() is documented to not update MediaTypes from
|
||||||
|
// ManifestUpdateOptions.LayerInfos[].MediaType, so we are doing it indirectly.)
|
||||||
|
//
|
||||||
|
// This MIME type → compression mapping belongs in manifest-specific code in our manifest
|
||||||
|
// package (but we should preferably replace/change UpdatedImage instead of productizing
|
||||||
|
// this workaround).
|
||||||
|
if srcInfo.CompressionAlgorithm == nil {
|
||||||
|
switch srcInfo.MediaType {
|
||||||
|
case manifest.DockerV2Schema2LayerMediaType, imgspecv1.MediaTypeImageLayerGzip:
|
||||||
|
srcInfo.CompressionAlgorithm = &compression.Gzip
|
||||||
|
case imgspecv1.MediaTypeImageLayerZstd:
|
||||||
|
srcInfo.CompressionAlgorithm = &compression.Zstd
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
cachedDiffID := ic.c.blobInfoCache.UncompressedDigest(srcInfo.Digest) // May be ""
|
cachedDiffID := ic.c.blobInfoCache.UncompressedDigest(srcInfo.Digest) // May be ""
|
||||||
// Diffs are needed if we are encrypting an image or trying to decrypt an image
|
// Diffs are needed if we are encrypting an image or trying to decrypt an image
|
||||||
diffIDIsNeeded := ic.diffIDsAreNeeded && cachedDiffID == "" || toEncrypt || (isOciEncrypted(srcInfo.MediaType) && ic.c.ociDecryptConfig != nil)
|
diffIDIsNeeded := ic.diffIDsAreNeeded && cachedDiffID == "" || toEncrypt || (isOciEncrypted(srcInfo.MediaType) && ic.c.ociDecryptConfig != nil)
|
||||||
@ -1095,6 +1115,19 @@ func (ic *imageCopier) copyLayer(ctx context.Context, srcInfo types.BlobInfo, to
|
|||||||
Artifact: srcInfo,
|
Artifact: srcInfo,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If the reused blob has the same digest as the one we asked for, but
|
||||||
|
// the transport didn't/couldn't supply compression info, fill it in based
|
||||||
|
// on what we know from the srcInfos we were given.
|
||||||
|
// If the srcInfos came from LayerInfosForCopy(), then UpdatedImage() will
|
||||||
|
// call UpdateLayerInfos(), which uses this information to compute the
|
||||||
|
// MediaType value for the updated layer infos, and it the transport
|
||||||
|
// didn't pass the information along from its input to its output, then
|
||||||
|
// it can derive the MediaType incorrectly.
|
||||||
|
if blobInfo.Digest == srcInfo.Digest && blobInfo.CompressionAlgorithm == nil {
|
||||||
|
blobInfo.CompressionOperation = srcInfo.CompressionOperation
|
||||||
|
blobInfo.CompressionAlgorithm = srcInfo.CompressionAlgorithm
|
||||||
|
}
|
||||||
return blobInfo, cachedDiffID, nil
|
return blobInfo, cachedDiffID, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1349,8 +1382,16 @@ func (c *copier) copyBlobFromStream(ctx context.Context, srcStream io.Reader, sr
|
|||||||
compressionOperation = types.PreserveOriginal
|
compressionOperation = types.PreserveOriginal
|
||||||
inputInfo = srcInfo
|
inputInfo = srcInfo
|
||||||
uploadCompressorName = srcCompressorName
|
uploadCompressorName = srcCompressorName
|
||||||
|
// Remember if the original blob was compressed, and if so how, so that if
|
||||||
|
// LayerInfosForCopy() returned something that differs from what was in the
|
||||||
|
// source's manifest, and UpdatedImage() needs to call UpdateLayerInfos(),
|
||||||
|
// it will be able to correctly derive the MediaType for the copied blob.
|
||||||
|
if isCompressed {
|
||||||
|
uploadCompressionFormat = &compressionFormat
|
||||||
|
} else {
|
||||||
uploadCompressionFormat = nil
|
uploadCompressionFormat = nil
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Perform image encryption for valid mediatypes if ociEncryptConfig provided
|
// Perform image encryption for valid mediatypes if ociEncryptConfig provided
|
||||||
var (
|
var (
|
||||||
|
8
vendor/github.com/containers/image/v5/pkg/sysregistriesv2/shortnames.go
generated
vendored
8
vendor/github.com/containers/image/v5/pkg/sysregistriesv2/shortnames.go
generated
vendored
@ -34,16 +34,10 @@ func shortNameAliasesConfPath(ctx *types.SystemContext) (string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Rootless user
|
// Rootless user
|
||||||
var cacheRoot string
|
cacheRoot, err := homedir.GetCacheHome()
|
||||||
if xdgCache := os.Getenv("XDG_CACHE_HOME"); xdgCache != "" {
|
|
||||||
cacheRoot = xdgCache
|
|
||||||
} else {
|
|
||||||
configHome, err := homedir.GetConfigHome()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
cacheRoot = filepath.Join(configHome, ".cache")
|
|
||||||
}
|
|
||||||
|
|
||||||
return filepath.Join(cacheRoot, userShortNamesFile), nil
|
return filepath.Join(cacheRoot, userShortNamesFile), nil
|
||||||
}
|
}
|
||||||
|
3
vendor/github.com/containers/image/v5/storage/storage_image.go
generated
vendored
3
vendor/github.com/containers/image/v5/storage/storage_image.go
generated
vendored
@ -246,8 +246,7 @@ func (s *storageImageSource) LayerInfosForCopy(ctx context.Context, instanceDige
|
|||||||
case imgspecv1.MediaTypeImageManifest:
|
case imgspecv1.MediaTypeImageManifest:
|
||||||
uncompressedLayerType = imgspecv1.MediaTypeImageLayer
|
uncompressedLayerType = imgspecv1.MediaTypeImageLayer
|
||||||
case manifest.DockerV2Schema1MediaType, manifest.DockerV2Schema1SignedMediaType, manifest.DockerV2Schema2MediaType:
|
case manifest.DockerV2Schema1MediaType, manifest.DockerV2Schema1SignedMediaType, manifest.DockerV2Schema2MediaType:
|
||||||
// This is actually a compressed type, but there's no uncompressed type defined
|
uncompressedLayerType = manifest.DockerV2SchemaLayerMediaTypeUncompressed
|
||||||
uncompressedLayerType = manifest.DockerV2Schema2LayerMediaType
|
|
||||||
}
|
}
|
||||||
|
|
||||||
physicalBlobInfos := []types.BlobInfo{}
|
physicalBlobInfos := []types.BlobInfo{}
|
||||||
|
2
vendor/github.com/containers/image/v5/version/version.go
generated
vendored
2
vendor/github.com/containers/image/v5/version/version.go
generated
vendored
@ -8,7 +8,7 @@ const (
|
|||||||
// VersionMinor is for functionality in a backwards-compatible manner
|
// VersionMinor is for functionality in a backwards-compatible manner
|
||||||
VersionMinor = 10
|
VersionMinor = 10
|
||||||
// VersionPatch is for backwards-compatible bug fixes
|
// VersionPatch is for backwards-compatible bug fixes
|
||||||
VersionPatch = 2
|
VersionPatch = 5
|
||||||
|
|
||||||
// VersionDev indicates development branch. Releases will be empty string.
|
// VersionDev indicates development branch. Releases will be empty string.
|
||||||
VersionDev = ""
|
VersionDev = ""
|
||||||
|
2
vendor/github.com/containers/storage/VERSION
generated
vendored
2
vendor/github.com/containers/storage/VERSION
generated
vendored
@ -1 +1 @@
|
|||||||
1.24.6
|
1.24.8
|
||||||
|
4
vendor/github.com/containers/storage/drivers/overlay/check.go
generated
vendored
4
vendor/github.com/containers/storage/drivers/overlay/check.go
generated
vendored
@ -145,6 +145,10 @@ func doesMetacopy(d, mountOpts string) (bool, error) {
|
|||||||
opts = fmt.Sprintf("%s,%s", opts, data)
|
opts = fmt.Sprintf("%s,%s", opts, data)
|
||||||
}
|
}
|
||||||
if err := unix.Mount("overlay", filepath.Join(td, "merged"), "overlay", uintptr(flags), opts); err != nil {
|
if err := unix.Mount("overlay", filepath.Join(td, "merged"), "overlay", uintptr(flags), opts); err != nil {
|
||||||
|
if errors.Cause(err) == unix.EINVAL {
|
||||||
|
logrus.Info("metacopy option not supported on this kernel", mountOpts)
|
||||||
|
return false, nil
|
||||||
|
}
|
||||||
return false, errors.Wrapf(err, "failed to mount overlay for metacopy check with %q options", mountOpts)
|
return false, errors.Wrapf(err, "failed to mount overlay for metacopy check with %q options", mountOpts)
|
||||||
}
|
}
|
||||||
defer func() {
|
defer func() {
|
||||||
|
18
vendor/github.com/containers/storage/drivers/overlay/overlay.go
generated
vendored
18
vendor/github.com/containers/storage/drivers/overlay/overlay.go
generated
vendored
@ -750,9 +750,23 @@ func (d *Driver) getLowerDirs(id string) ([]string, error) {
|
|||||||
for _, s := range strings.Split(string(lowers), ":") {
|
for _, s := range strings.Split(string(lowers), ":") {
|
||||||
lower := d.dir(s)
|
lower := d.dir(s)
|
||||||
lp, err := os.Readlink(lower)
|
lp, err := os.Readlink(lower)
|
||||||
|
// if the link does not exist, we lost the symlinks during a sudden reboot.
|
||||||
|
// Let's go ahead and recreate those symlinks.
|
||||||
|
if err != nil {
|
||||||
|
if os.IsNotExist(err) {
|
||||||
|
logrus.Warnf("Can't read link %q because it does not exist. Going through storage to recreate the missing symlinks.", lower)
|
||||||
|
if err := d.recreateSymlinks(); err != nil {
|
||||||
|
return nil, fmt.Errorf("error recreating the missing symlinks: %v", err)
|
||||||
|
}
|
||||||
|
// let's call Readlink on lower again now that we have recreated the missing symlinks
|
||||||
|
lp, err = os.Readlink(lower)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
lowersArray = append(lowersArray, path.Clean(d.dir(path.Join("link", lp))))
|
lowersArray = append(lowersArray, path.Clean(d.dir(path.Join("link", lp))))
|
||||||
}
|
}
|
||||||
} else if !os.IsNotExist(err) {
|
} else if !os.IsNotExist(err) {
|
||||||
@ -879,7 +893,11 @@ func (d *Driver) get(id string, disableShifting bool, options graphdriver.MountO
|
|||||||
// If metacopy=on is present in d.options.mountOptions it must be present in the mount
|
// If metacopy=on is present in d.options.mountOptions it must be present in the mount
|
||||||
// options otherwise the kernel refuses to follow the metacopy xattr.
|
// options otherwise the kernel refuses to follow the metacopy xattr.
|
||||||
if hasMetacopyOption(strings.Split(d.options.mountOptions, ",")) && !hasMetacopyOption(options.Options) {
|
if hasMetacopyOption(strings.Split(d.options.mountOptions, ",")) && !hasMetacopyOption(options.Options) {
|
||||||
|
if d.usingMetacopy {
|
||||||
optsList = append(optsList, "metacopy=on")
|
optsList = append(optsList, "metacopy=on")
|
||||||
|
} else {
|
||||||
|
logrus.Warnf("ignoring metacopy option from storage.conf, not supported with booted kernel")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for _, o := range optsList {
|
for _, o := range optsList {
|
||||||
|
5
vendor/github.com/containers/storage/pkg/homedir/homedir_others.go
generated
vendored
5
vendor/github.com/containers/storage/pkg/homedir/homedir_others.go
generated
vendored
@ -28,3 +28,8 @@ func GetDataHome() (string, error) {
|
|||||||
func GetConfigHome() (string, error) {
|
func GetConfigHome() (string, error) {
|
||||||
return "", errors.New("homedir.GetConfigHome() is not supported on this system")
|
return "", errors.New("homedir.GetConfigHome() is not supported on this system")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCacheHome is unsupported on non-linux system.
|
||||||
|
func GetCacheHome() (string, error) {
|
||||||
|
return "", errors.New("homedir.GetCacheHome() is not supported on this system")
|
||||||
|
}
|
||||||
|
15
vendor/github.com/containers/storage/pkg/homedir/homedir_unix.go
generated
vendored
15
vendor/github.com/containers/storage/pkg/homedir/homedir_unix.go
generated
vendored
@ -123,3 +123,18 @@ func GetConfigHome() (string, error) {
|
|||||||
}
|
}
|
||||||
return filepath.Join(home, ".config"), nil
|
return filepath.Join(home, ".config"), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCacheHome returns XDG_CACHE_HOME.
|
||||||
|
// GetCacheHome returns $HOME/.cache and nil error if XDG_CACHE_HOME is not set.
|
||||||
|
//
|
||||||
|
// See also https://standards.freedesktop.org/basedir-spec/latest/ar01s03.html
|
||||||
|
func GetCacheHome() (string, error) {
|
||||||
|
if xdgCacheHome := os.Getenv("XDG_CACHE_HOME"); xdgCacheHome != "" {
|
||||||
|
return xdgCacheHome, nil
|
||||||
|
}
|
||||||
|
home := Get()
|
||||||
|
if home == "" {
|
||||||
|
return "", errors.New("could not get either XDG_CACHE_HOME or HOME")
|
||||||
|
}
|
||||||
|
return filepath.Join(home, ".cache"), nil
|
||||||
|
}
|
||||||
|
4
vendor/modules.txt
vendored
4
vendor/modules.txt
vendored
@ -46,7 +46,7 @@ github.com/containers/common/pkg/completion
|
|||||||
github.com/containers/common/pkg/report
|
github.com/containers/common/pkg/report
|
||||||
github.com/containers/common/pkg/report/camelcase
|
github.com/containers/common/pkg/report/camelcase
|
||||||
github.com/containers/common/pkg/retry
|
github.com/containers/common/pkg/retry
|
||||||
# github.com/containers/image/v5 v5.10.2
|
# github.com/containers/image/v5 v5.10.5
|
||||||
github.com/containers/image/v5/copy
|
github.com/containers/image/v5/copy
|
||||||
github.com/containers/image/v5/directory
|
github.com/containers/image/v5/directory
|
||||||
github.com/containers/image/v5/directory/explicitfilepath
|
github.com/containers/image/v5/directory/explicitfilepath
|
||||||
@ -102,7 +102,7 @@ github.com/containers/ocicrypt/keywrap/pgp
|
|||||||
github.com/containers/ocicrypt/keywrap/pkcs7
|
github.com/containers/ocicrypt/keywrap/pkcs7
|
||||||
github.com/containers/ocicrypt/spec
|
github.com/containers/ocicrypt/spec
|
||||||
github.com/containers/ocicrypt/utils
|
github.com/containers/ocicrypt/utils
|
||||||
# github.com/containers/storage v1.24.6
|
# github.com/containers/storage v1.24.8
|
||||||
github.com/containers/storage
|
github.com/containers/storage
|
||||||
github.com/containers/storage/drivers
|
github.com/containers/storage/drivers
|
||||||
github.com/containers/storage/drivers/aufs
|
github.com/containers/storage/drivers/aufs
|
||||||
|
Loading…
Reference in New Issue
Block a user