Merge pull request #9803 from mxpv/depr
Remove deprecated functions and packages
This commit is contained in:
commit
2c7520d6eb
@ -81,12 +81,3 @@ func GetOCIStopSignal(ctx context.Context, image Image, defaultSignal string) (s
|
|||||||
|
|
||||||
return config.StopSignal, nil
|
return config.StopSignal, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ParseSignal parses a given string into a syscall.Signal
|
|
||||||
// the rawSignal can be a string with "SIG" prefix,
|
|
||||||
// or a signal number in string format.
|
|
||||||
//
|
|
||||||
// Deprecated: Use github.com/moby/sys/signal instead.
|
|
||||||
func ParseSignal(rawSignal string) (syscall.Signal, error) {
|
|
||||||
return signal.ParseSignal(rawSignal)
|
|
||||||
}
|
|
||||||
|
@ -38,7 +38,6 @@ import (
|
|||||||
|
|
||||||
containerd "github.com/containerd/containerd/v2/client"
|
containerd "github.com/containerd/containerd/v2/client"
|
||||||
"github.com/containerd/containerd/v2/core/containers"
|
"github.com/containerd/containerd/v2/core/containers"
|
||||||
"github.com/containerd/containerd/v2/pkg/cio"
|
|
||||||
"github.com/containerd/log"
|
"github.com/containerd/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -157,32 +156,6 @@ func WithLogURIString(uriString string) func(context.Context, *containerd.Client
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// WithBinaryLogURI sets the binary-type log uri for a container.
|
|
||||||
//
|
|
||||||
// Deprecated(in release 1.5): use WithLogURI
|
|
||||||
func WithBinaryLogURI(binary string, args map[string]string) func(context.Context, *containerd.Client, *containers.Container) error {
|
|
||||||
uri, err := cio.LogURIGenerator("binary", binary, args)
|
|
||||||
if err != nil {
|
|
||||||
return func(context.Context, *containerd.Client, *containers.Container) error {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return WithLogURI(uri)
|
|
||||||
}
|
|
||||||
|
|
||||||
// WithFileLogURI sets the file-type log uri for a container.
|
|
||||||
//
|
|
||||||
// Deprecated(in release 1.5): use WithLogURI
|
|
||||||
func WithFileLogURI(path string) func(context.Context, *containerd.Client, *containers.Container) error {
|
|
||||||
uri, err := cio.LogURIGenerator("file", path, nil)
|
|
||||||
if err != nil {
|
|
||||||
return func(context.Context, *containerd.Client, *containers.Container) error {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return WithLogURI(uri)
|
|
||||||
}
|
|
||||||
|
|
||||||
// WithStatus sets the status for a container
|
// WithStatus sets the status for a container
|
||||||
func WithStatus(status containerd.ProcessStatus) func(context.Context, *containerd.Client, *containers.Container) error {
|
func WithStatus(status containerd.ProcessStatus) func(context.Context, *containerd.Client, *containers.Container) error {
|
||||||
return func(_ context.Context, _ *containerd.Client, c *containers.Container) error {
|
return func(_ context.Context, _ *containerd.Client, c *containers.Container) error {
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright The containerd Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package client
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"syscall"
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
. "github.com/containerd/containerd/v2/client"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestParseSignal(t *testing.T) {
|
|
||||||
testSignals := []struct {
|
|
||||||
raw string
|
|
||||||
want syscall.Signal
|
|
||||||
err bool
|
|
||||||
}{
|
|
||||||
{"1", syscall.Signal(1), false},
|
|
||||||
{"SIGKILL", syscall.SIGKILL, false},
|
|
||||||
{"NONEXIST", 0, true},
|
|
||||||
}
|
|
||||||
for _, ts := range testSignals {
|
|
||||||
t.Run(fmt.Sprintf("%s/%d/%t", ts.raw, ts.want, ts.err), func(t *testing.T) {
|
|
||||||
got, err := ParseSignal(ts.raw)
|
|
||||||
if ts.err && err == nil {
|
|
||||||
t.Errorf("ParseSignal(%s) should return error", ts.raw)
|
|
||||||
}
|
|
||||||
if !ts.err && got != ts.want {
|
|
||||||
t.Errorf("ParseSignal(%s) return %d, want %d", ts.raw, got, ts.want)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
@ -36,10 +36,6 @@ func ContextDialer(ctx context.Context, address string) (net.Conn, error) {
|
|||||||
return timeoutDialer(address, 0)
|
return timeoutDialer(address, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dialer returns a GRPC net.Conn connected to the provided address
|
|
||||||
// Deprecated: use ContextDialer and grpc.WithContextDialer.
|
|
||||||
var Dialer = timeoutDialer
|
|
||||||
|
|
||||||
func timeoutDialer(address string, timeout time.Duration) (net.Conn, error) {
|
func timeoutDialer(address string, timeout time.Duration) (net.Conn, error) {
|
||||||
var (
|
var (
|
||||||
stopC = make(chan struct{})
|
stopC = make(chan struct{})
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright The containerd Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package docker
|
|
||||||
|
|
||||||
import "github.com/distribution/reference"
|
|
||||||
|
|
||||||
// IsNameOnly returns true if reference only contains a repo name.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.IsNameOnly].
|
|
||||||
func IsNameOnly(ref reference.Named) bool {
|
|
||||||
return reference.IsNameOnly(ref)
|
|
||||||
}
|
|
||||||
|
|
||||||
// FamiliarName returns the familiar name string
|
|
||||||
// for the given named, familiarizing if needed.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.FamiliarName].
|
|
||||||
func FamiliarName(ref reference.Named) string {
|
|
||||||
return reference.FamiliarName(ref)
|
|
||||||
}
|
|
||||||
|
|
||||||
// FamiliarString returns the familiar string representation
|
|
||||||
// for the given reference, familiarizing if needed.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.FamiliarString].
|
|
||||||
func FamiliarString(ref reference.Reference) string {
|
|
||||||
return reference.FamiliarString(ref)
|
|
||||||
}
|
|
||||||
|
|
||||||
// FamiliarMatch reports whether ref matches the specified pattern.
|
|
||||||
// See [path.Match] for supported patterns.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.FamiliarMatch].
|
|
||||||
func FamiliarMatch(pattern string, ref reference.Reference) (bool, error) {
|
|
||||||
return reference.FamiliarMatch(pattern, ref)
|
|
||||||
}
|
|
@ -1,55 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright The containerd Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package docker
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/distribution/reference"
|
|
||||||
)
|
|
||||||
|
|
||||||
// ParseNormalizedNamed parses a string into a named reference
|
|
||||||
// transforming a familiar name from Docker UI to a fully
|
|
||||||
// qualified reference. If the value may be an identifier
|
|
||||||
// use ParseAnyReference.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.ParseNormalizedNamed].
|
|
||||||
func ParseNormalizedNamed(s string) (reference.Named, error) {
|
|
||||||
return reference.ParseNormalizedNamed(s)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ParseDockerRef normalizes the image reference following the docker convention,
|
|
||||||
// which allows for references to contain both a tag and a digest.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.ParseDockerRef].
|
|
||||||
func ParseDockerRef(ref string) (reference.Named, error) {
|
|
||||||
return reference.ParseDockerRef(ref)
|
|
||||||
}
|
|
||||||
|
|
||||||
// TagNameOnly adds the default tag "latest" to a reference if it only has
|
|
||||||
// a repo name.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.TagNameOnly].
|
|
||||||
func TagNameOnly(ref reference.Named) reference.Named {
|
|
||||||
return reference.TagNameOnly(ref)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ParseAnyReference parses a reference string as a possible identifier,
|
|
||||||
// full digest, or familiar name.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.ParseAnyReference].
|
|
||||||
func ParseAnyReference(ref string) (reference.Reference, error) {
|
|
||||||
return reference.ParseAnyReference(ref)
|
|
||||||
}
|
|
@ -1,188 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright The containerd Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Package docker is deprecated, and has moved to github.com/distribution/reference.
|
|
||||||
//
|
|
||||||
// Deprecated: use github.com/distribution/reference instead.
|
|
||||||
package docker
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/distribution/reference"
|
|
||||||
"github.com/opencontainers/go-digest"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
// NameTotalLengthMax is the maximum total number of characters in a repository name.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.NameTotalLengthMax].
|
|
||||||
NameTotalLengthMax = reference.NameTotalLengthMax
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
// ErrReferenceInvalidFormat represents an error while trying to parse a string as a reference.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.ErrReferenceInvalidFormat].
|
|
||||||
ErrReferenceInvalidFormat = reference.ErrReferenceInvalidFormat
|
|
||||||
|
|
||||||
// ErrTagInvalidFormat represents an error while trying to parse a string as a tag.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.ErrTagInvalidFormat].
|
|
||||||
ErrTagInvalidFormat = reference.ErrTagInvalidFormat
|
|
||||||
|
|
||||||
// ErrDigestInvalidFormat represents an error while trying to parse a string as a tag.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.ErrDigestInvalidFormat].
|
|
||||||
ErrDigestInvalidFormat = reference.ErrDigestInvalidFormat
|
|
||||||
|
|
||||||
// ErrNameContainsUppercase is returned for invalid repository names that contain uppercase characters.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.ErrNameContainsUppercase].
|
|
||||||
ErrNameContainsUppercase = reference.ErrNameContainsUppercase
|
|
||||||
|
|
||||||
// ErrNameEmpty is returned for empty, invalid repository names.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.ErrNameEmpty].
|
|
||||||
ErrNameEmpty = reference.ErrNameEmpty
|
|
||||||
|
|
||||||
// ErrNameTooLong is returned when a repository name is longer than NameTotalLengthMax.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.ErrNameTooLong].
|
|
||||||
ErrNameTooLong = reference.ErrNameTooLong
|
|
||||||
|
|
||||||
// ErrNameNotCanonical is returned when a name is not canonical.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.ErrNameNotCanonical].
|
|
||||||
ErrNameNotCanonical = reference.ErrNameNotCanonical
|
|
||||||
)
|
|
||||||
|
|
||||||
// Reference is an opaque object reference identifier that may include
|
|
||||||
// modifiers such as a hostname, name, tag, and digest.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.Reference].
|
|
||||||
type Reference = reference.Reference
|
|
||||||
|
|
||||||
// Field provides a wrapper type for resolving correct reference types when
|
|
||||||
// working with encoding.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.Field].
|
|
||||||
type Field = reference.Field
|
|
||||||
|
|
||||||
// AsField wraps a reference in a Field for encoding.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.AsField].
|
|
||||||
func AsField(ref reference.Reference) reference.Field {
|
|
||||||
return reference.AsField(ref)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Named is an object with a full name
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.Named].
|
|
||||||
type Named = reference.Named
|
|
||||||
|
|
||||||
// Tagged is an object which has a tag
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.Tagged].
|
|
||||||
type Tagged = reference.Tagged
|
|
||||||
|
|
||||||
// NamedTagged is an object including a name and tag.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.NamedTagged].
|
|
||||||
type NamedTagged reference.NamedTagged
|
|
||||||
|
|
||||||
// Digested is an object which has a digest
|
|
||||||
// in which it can be referenced by
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.Digested].
|
|
||||||
type Digested reference.Digested
|
|
||||||
|
|
||||||
// Canonical reference is an object with a fully unique
|
|
||||||
// name including a name with domain and digest
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.Canonical].
|
|
||||||
type Canonical reference.Canonical
|
|
||||||
|
|
||||||
// Domain returns the domain part of the [Named] reference.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.Domain].
|
|
||||||
func Domain(named reference.Named) string {
|
|
||||||
return reference.Domain(named)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Path returns the name without the domain part of the [Named] reference.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.Path].
|
|
||||||
func Path(named reference.Named) (name string) {
|
|
||||||
return reference.Path(named)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SplitHostname splits a named reference into a
|
|
||||||
// hostname and name string. If no valid hostname is
|
|
||||||
// found, the hostname is empty and the full value
|
|
||||||
// is returned as name
|
|
||||||
//
|
|
||||||
// Deprecated: Use [reference.Domain] or [reference.Path].
|
|
||||||
func SplitHostname(named reference.Named) (string, string) {
|
|
||||||
return reference.SplitHostname(named)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Parse parses s and returns a syntactically valid Reference.
|
|
||||||
// If an error was encountered it is returned, along with a nil Reference.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.Parse].
|
|
||||||
func Parse(s string) (reference.Reference, error) {
|
|
||||||
return reference.Parse(s)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ParseNamed parses s and returns a syntactically valid reference implementing
|
|
||||||
// the Named interface. The reference must have a name and be in the canonical
|
|
||||||
// form, otherwise an error is returned.
|
|
||||||
// If an error was encountered it is returned, along with a nil Reference.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.ParseNamed].
|
|
||||||
func ParseNamed(s string) (reference.Named, error) {
|
|
||||||
return reference.ParseNamed(s)
|
|
||||||
}
|
|
||||||
|
|
||||||
// WithName returns a named object representing the given string. If the input
|
|
||||||
// is invalid ErrReferenceInvalidFormat will be returned.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.WithName].
|
|
||||||
func WithName(name string) (reference.Named, error) {
|
|
||||||
return reference.WithName(name)
|
|
||||||
}
|
|
||||||
|
|
||||||
// WithTag combines the name from "name" and the tag from "tag" to form a
|
|
||||||
// reference incorporating both the name and the tag.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.WithTag].
|
|
||||||
func WithTag(name reference.Named, tag string) (reference.NamedTagged, error) {
|
|
||||||
return reference.WithTag(name, tag)
|
|
||||||
}
|
|
||||||
|
|
||||||
// WithDigest combines the name from "name" and the digest from "digest" to form
|
|
||||||
// a reference incorporating both the name and the digest.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.WithDigest].
|
|
||||||
func WithDigest(name reference.Named, digest digest.Digest) (reference.Canonical, error) {
|
|
||||||
return reference.WithDigest(name, digest)
|
|
||||||
}
|
|
||||||
|
|
||||||
// TrimNamed removes any tag or digest from the named reference.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.TrimNamed].
|
|
||||||
func TrimNamed(ref reference.Named) reference.Named {
|
|
||||||
return reference.TrimNamed(ref)
|
|
||||||
}
|
|
@ -1,66 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright The containerd Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package docker
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/distribution/reference"
|
|
||||||
)
|
|
||||||
|
|
||||||
// DigestRegexp matches well-formed digests, including algorithm (e.g. "sha256:<encoded>").
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.DigestRegexp].
|
|
||||||
var DigestRegexp = reference.DigestRegexp
|
|
||||||
|
|
||||||
// DomainRegexp matches hostname or IP-addresses, optionally including a port
|
|
||||||
// number. It defines the structure of potential domain components that may be
|
|
||||||
// part of image names. This is purposely a subset of what is allowed by DNS to
|
|
||||||
// ensure backwards compatibility with Docker image names. It may be a subset of
|
|
||||||
// DNS domain name, an IPv4 address in decimal format, or an IPv6 address between
|
|
||||||
// square brackets (excluding zone identifiers as defined by [RFC 6874] or special
|
|
||||||
// addresses such as IPv4-Mapped).
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.DomainRegexp].
|
|
||||||
//
|
|
||||||
// [RFC 6874]: https://www.rfc-editor.org/rfc/rfc6874.
|
|
||||||
var DomainRegexp = reference.DigestRegexp
|
|
||||||
|
|
||||||
// IdentifierRegexp is the format for string identifier used as a
|
|
||||||
// content addressable identifier using sha256. These identifiers
|
|
||||||
// are like digests without the algorithm, since sha256 is used.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.IdentifierRegexp].
|
|
||||||
var IdentifierRegexp = reference.IdentifierRegexp
|
|
||||||
|
|
||||||
// NameRegexp is the format for the name component of references, including
|
|
||||||
// an optional domain and port, but without tag or digest suffix.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.NameRegexp].
|
|
||||||
var NameRegexp = reference.NameRegexp
|
|
||||||
|
|
||||||
// ReferenceRegexp is the full supported format of a reference. The regexp
|
|
||||||
// is anchored and has capturing groups for name, tag, and digest
|
|
||||||
// components.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.ReferenceRegexp].
|
|
||||||
var ReferenceRegexp = reference.ReferenceRegexp
|
|
||||||
|
|
||||||
// TagRegexp matches valid tag names. From [docker/docker:graph/tags.go].
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.TagRegexp].
|
|
||||||
//
|
|
||||||
// [docker/docker:graph/tags.go]: https://github.com/moby/moby/blob/v1.6.0/graph/tags.go#L26-L28
|
|
||||||
var TagRegexp = reference.TagRegexp
|
|
@ -1,26 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright The containerd Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package docker
|
|
||||||
|
|
||||||
import "github.com/distribution/reference"
|
|
||||||
|
|
||||||
// Sort sorts string references preferring higher information references.
|
|
||||||
//
|
|
||||||
// Deprecated: use [reference.Sort].
|
|
||||||
func Sort(references []string) []string {
|
|
||||||
return reference.Sort(references)
|
|
||||||
}
|
|
@ -1,51 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright The containerd Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package sys
|
|
||||||
|
|
||||||
import (
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"github.com/moby/sys/sequential"
|
|
||||||
)
|
|
||||||
|
|
||||||
// CreateSequential is deprecated.
|
|
||||||
//
|
|
||||||
// Deprecated: use github.com/moby/sys/sequential.Create
|
|
||||||
func CreateSequential(name string) (*os.File, error) {
|
|
||||||
return sequential.Create(name)
|
|
||||||
}
|
|
||||||
|
|
||||||
// OpenSequential is deprecated.
|
|
||||||
//
|
|
||||||
// Deprecated: use github.com/moby/sys/sequential.Open
|
|
||||||
func OpenSequential(name string) (*os.File, error) {
|
|
||||||
return sequential.Open(name)
|
|
||||||
}
|
|
||||||
|
|
||||||
// OpenFileSequential is deprecated.
|
|
||||||
//
|
|
||||||
// Deprecated: use github.com/moby/sys/sequential.OpenFile
|
|
||||||
func OpenFileSequential(name string, flag int, perm os.FileMode) (*os.File, error) {
|
|
||||||
return sequential.OpenFile(name, flag, perm)
|
|
||||||
}
|
|
||||||
|
|
||||||
// TempFileSequential is deprecated.
|
|
||||||
//
|
|
||||||
// Deprecated: use github.com/moby/sys/sequential.CreateTemp
|
|
||||||
func TempFileSequential(dir, prefix string) (f *os.File, err error) {
|
|
||||||
return sequential.CreateTemp(dir, prefix)
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user