From 2c5532746fe6bb62f9007778cd3ca77f7885d995 Mon Sep 17 00:00:00 2001 From: Antonio Murdaca Date: Wed, 2 Nov 2016 09:19:59 +0100 Subject: [PATCH 1/2] cmd/skopeo/layers: fix index out of range Signed-off-by: Antonio Murdaca --- cmd/skopeo/layers.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cmd/skopeo/layers.go b/cmd/skopeo/layers.go index c5c686ca..ce9271ab 100644 --- a/cmd/skopeo/layers.go +++ b/cmd/skopeo/layers.go @@ -1,6 +1,7 @@ package main import ( + "errors" "io/ioutil" "strings" @@ -15,10 +16,13 @@ import ( var layersCmd = cli.Command{ Name: "layers", Usage: "Get layers of IMAGE-NAME", - ArgsUsage: "IMAGE-NAME", + ArgsUsage: "IMAGE-NAME [LAYER...]", Action: func(c *cli.Context) error { + if c.NArg() == 0 { + return errors.New("please specify an image") + } rawSource, err := parseImageSource(c, c.Args()[0], []string{ - // TODO: skopeo layers only support these now + // TODO: skopeo layers only supports these now // eventually we'll remove this command altogether... manifest.DockerV2Schema1SignedMediaType, manifest.DockerV2Schema1MediaType, From b3b322e10b2954e976d783a043bc717928396fdc Mon Sep 17 00:00:00 2001 From: Antonio Murdaca Date: Wed, 2 Nov 2016 09:22:34 +0100 Subject: [PATCH 2/2] deprecate skopeo layers Signed-off-by: Antonio Murdaca --- cmd/skopeo/layers.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmd/skopeo/layers.go b/cmd/skopeo/layers.go index ce9271ab..5728f0cc 100644 --- a/cmd/skopeo/layers.go +++ b/cmd/skopeo/layers.go @@ -2,7 +2,9 @@ package main import ( "errors" + "fmt" "io/ioutil" + "os" "strings" "github.com/containers/image/directory" @@ -12,14 +14,14 @@ import ( "github.com/urfave/cli" ) -// TODO(runcom): document args and usage var layersCmd = cli.Command{ Name: "layers", Usage: "Get layers of IMAGE-NAME", ArgsUsage: "IMAGE-NAME [LAYER...]", Action: func(c *cli.Context) error { + fmt.Fprintln(os.Stderr, `DEPRECATED: skopeo layers is deprecated in favor of skopeo copy`) if c.NArg() == 0 { - return errors.New("please specify an image") + return errors.New("Usage: layers imageReference [layer...]") } rawSource, err := parseImageSource(c, c.Args()[0], []string{ // TODO: skopeo layers only supports these now