Hello community, here is the log from the commit of package skopeo for openSUSE:Factory checked in at 2019-08-09 16:51:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/skopeo (Old) and /work/SRC/openSUSE:Factory/.skopeo.new.9556 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "skopeo" Fri Aug 9 16:51:59 2019 rev:12 rq:721555 version:0.1.39 Changes: -------- --- /work/SRC/openSUSE:Factory/skopeo/skopeo.changes 2018-12-03 10:04:52.988012702 +0100 +++ /work/SRC/openSUSE:Factory/.skopeo.new.9556/skopeo.changes 2019-08-09 16:52:03.221487830 +0200 @@ -1,0 +2,28 @@ +Wed Aug 7 08:02:58 UTC 2019 - Marco Vedovati <mvedov...@suse.com> + +- Update to skopeo v0.1.39: + - inspect: add a --config flag + - Add --no-creds flag to skopeo inspect + - Add --quiet option to skopeo copy + - New progress bars + - Parallel Pulls and Pushes for major speed improvements + - containers/image moved to a new progress-bar library to fix various + issues related to overlapping bars and redundant entries. + - enforce blocking of registries + - Allow storage-multiple-manifests + - When copying images and the output is not a tty (e.g., when piping to a + file) print single lines instead of using progress bars. This avoids + long and hard to parse output + - man pages: add --dest-oci-accept-uncompressed-layers + - completions: + - Introduce transports completions + - Fix bash completions when a option requires a argument + - Use only spaces in indent + - Fix completions with a global option + - add --dest-oci-accept-uncompressed-layers + +- Update bsc1115165-0001-Introduce-the-sync-command.patch and add + 0002-Add-set-of-image-options-used-only-for-docker-transp.patch + required by the updated sync patch. + +------------------------------------------------------------------- Old: ---- skopeo-0.1.32.tar.xz New: ---- 0002-Add-set-of-image-options-used-only-for-docker-transp.patch skopeo-0.1.39.tar.xz skopeo.rpmlintrc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ skopeo.spec ++++++ --- /var/tmp/diff_new_pack.DroLRK/_old 2019-08-09 16:52:04.165487604 +0200 +++ /var/tmp/diff_new_pack.DroLRK/_new 2019-08-09 16:52:04.173487602 +0200 @@ -24,24 +24,27 @@ %define with_libostree 1 %endif Name: skopeo -Version: 0.1.32 +Version: 0.1.39 Release: 0 Summary: Container image repository tool License: Apache-2.0 Group: System/Management URL: https://github.com/containers/skopeo Source: %{name}-%{version}.tar.xz +Source1: skopeo.rpmlintrc # SUSE-FEATURE: Implement the skopeo sync command # (https://github.com/containers/skopeo/pull/524) Patch000: bsc1115165-0001-Introduce-the-sync-command.patch +# Add set of image options used only for docker transport (required by sync) +Patch001: 0002-Add-set-of-image-options-used-only-for-docker-transp.patch +Requires: libcontainers-common BuildRequires: device-mapper-devel >= 1.2.68 BuildRequires: glib2-devel -BuildRequires: go >= 1.5 +BuildRequires: golang(API) = 1.12 BuildRequires: go-go-md2man BuildRequires: libbtrfs-devel >= 3.8 BuildRequires: libcontainers-common BuildRequires: libgpgme-devel -Requires: libcontainers-common ExcludeArch: s390 %if 0%{?with_libostree} BuildRequires: libostree-devel @@ -57,6 +60,8 @@ %setup -q # bsc#1115165 %patch000 -p1 +# Add set of image options used only for docker transport (required by sync) +%patch001 -p1 %build mkdir -p .gopath/src/github.com/containers @@ -64,20 +69,23 @@ export GOPATH=$PWD/.gopath export BUILDTAGS="exclude_graphdriver_aufs" + %if 0%{?suse_version} <= 1320 BUILDTAGS+=" libdm_no_deferred_remove" %endif -%if !0%{?with_libostree} - BUILDTAGS+=" containers_image_ostree_stub" + +# Starting from https://github.com/containers/image/pull/587, ostree is disabled +# by default. +%if 0%{?with_libostree} + BUILDTAGS+=" containers_image_ostree" %endif # Build. -go build -buildmode=pie -ldflags "-X main.gitCommit=" -gcflags "" -tags "$BUILDTAGS" -o skopeo %{project}/cmd/skopeo +GO111MODULE=on go build -mod=vendor "-buildmode=pie" -ldflags "-X main.gitCommit=" -gcflags "" -tags "$BUILDTAGS" -o skopeo %{project}/cmd/skopeo make %{?_smp_mflags} docs %install # Install the binary. -install -D -m 0755 %{name} "%{buildroot}/%{_bindir}/%{name}" make INSTALLDIR="%{buildroot}/%{_bindir}" install-binary # Install the docs. @@ -87,6 +95,6 @@ %doc README.md %license LICENSE %{_bindir}/%{name} -%{_mandir}/man1/skopeo.1* +%{_mandir}/man1/skopeo*.1* %changelog ++++++ 0002-Add-set-of-image-options-used-only-for-docker-transp.patch ++++++ >From daed81b5d6233efacec074ca9a2379703fa2164d Mon Sep 17 00:00:00 2001 From: Marco Vedovati <mvedov...@suse.com> Date: Wed, 3 Jul 2019 19:10:11 +0200 Subject: [PATCH 2/3] Add set of image options used only for docker transport Add dockerImageOptions set of options, that are only applicable when the image transport is docker. Signed-off-by: Marco Vedovati <mvedov...@suse.com> --- cmd/skopeo/utils.go | 54 ++++++++++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/cmd/skopeo/utils.go b/cmd/skopeo/utils.go index 3db22ff..2135fdb 100644 --- a/cmd/skopeo/utils.go +++ b/cmd/skopeo/utils.go @@ -49,24 +49,34 @@ func sharedImageFlags() ([]cli.Flag, *sharedImageOptions) { }, &opts } +// imageOptions collects CLI flags specific to the "docker" transport, which are +// the same across subcommands, but may be different for each image +// (e.g. may differ between the source and destination of a copy) +type dockerImageOptions struct { + global *globalOptions // May be shared across several imageOptions instances. + shared *sharedImageOptions // May be shared across several imageOptions instances. + credsOption optionalString // username[:password] for accessing a registry + dockerCertPath string // A directory using Docker-like *.{crt,cert,key} files for connecting to a registry or a daemon + tlsVerify optionalBool // Require HTTPS and verify certificates (for docker: and docker-daemon:) + noCreds bool // Access the registry anonymously +} + // imageOptions collects CLI flags which are the same across subcommands, but may be different for each image // (e.g. may differ between the source and destination of a copy) type imageOptions struct { - global *globalOptions // May be shared across several imageOptions instances. - shared *sharedImageOptions // May be shared across several imageOptions instances. - credsOption optionalString // username[:password] for accessing a registry - dockerCertPath string // A directory using Docker-like *.{crt,cert,key} files for connecting to a registry or a daemon - tlsVerify optionalBool // Require HTTPS and verify certificates (for docker: and docker-daemon:) - sharedBlobDir string // A directory to use for OCI blobs, shared across repositories - dockerDaemonHost string // docker-daemon: host to connect to - noCreds bool // Access the registry anonymously + dockerImageOptions + sharedBlobDir string // A directory to use for OCI blobs, shared across repositories + dockerDaemonHost string // docker-daemon: host to connect to } -// imageFlags prepares a collection of CLI flags writing into imageOptions, and the managed imageOptions structure. -func imageFlags(global *globalOptions, shared *sharedImageOptions, flagPrefix, credsOptionAlias string) ([]cli.Flag, *imageOptions) { +// dockerImageFlags prepares a collection of docker-transport specific CLI flags +// writing into imageOptions, and the managed imageOptions structure. +func dockerImageFlags(global *globalOptions, shared *sharedImageOptions, flagPrefix, credsOptionAlias string) ([]cli.Flag, *imageOptions) { opts := imageOptions{ - global: global, - shared: shared, + dockerImageOptions: dockerImageOptions{ + global: global, + shared: shared, + }, } // This is horribly ugly, but we need to support the old option forms of (skopeo copy) for compatibility. @@ -92,6 +102,19 @@ func imageFlags(global *globalOptions, shared *sharedImageOptions, flagPrefix, c Usage: "require HTTPS and verify certificates when talking to the container registry or daemon (defaults to true)", Value: newOptionalBoolValue(&opts.tlsVerify), }, + cli.BoolFlag{ + Name: flagPrefix + "no-creds", + Usage: "Access the registry anonymously", + Destination: &opts.noCreds, + }, + }, &opts +} + +// imageFlags prepares a collection of CLI flags writing into imageOptions, and the managed imageOptions structure. +func imageFlags(global *globalOptions, shared *sharedImageOptions, flagPrefix, credsOptionAlias string) ([]cli.Flag, *imageOptions) { + dockerFlags, opts := dockerImageFlags(global, shared, flagPrefix, credsOptionAlias) + + return append(dockerFlags, []cli.Flag{ cli.StringFlag{ Name: flagPrefix + "shared-blob-dir", Usage: "`DIRECTORY` to use to share blobs across OCI repositories", @@ -102,12 +125,7 @@ func imageFlags(global *globalOptions, shared *sharedImageOptions, flagPrefix, c Usage: "use docker daemon host at `HOST` (docker-daemon: only)", Destination: &opts.dockerDaemonHost, }, - cli.BoolFlag{ - Name: flagPrefix + "no-creds", - Usage: "Access the registry anonymously", - Destination: &opts.noCreds, - }, - }, &opts + }...), opts } // newSystemContext returns a *types.SystemContext corresponding to opts. -- 2.22.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.DroLRK/_old 2019-08-09 16:52:04.257487582 +0200 +++ /var/tmp/diff_new_pack.DroLRK/_new 2019-08-09 16:52:04.265487579 +0200 @@ -3,8 +3,8 @@ <param name="url">https://github.com/projectatomic/skopeo</param> <param name="scm">git</param> <param name="filename">skopeo</param> - <param name="versionformat">0.1.32</param> - <param name="revision">v0.1.32</param> + <param name="versionformat">0.1.39</param> + <param name="revision">v0.1.39</param> <param name="exclude">.git</param> </service> <service name="recompress" mode="disabled"> ++++++ bsc1115165-0001-Introduce-the-sync-command.patch ++++++ ++++ 1775 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/skopeo/bsc1115165-0001-Introduce-the-sync-command.patch ++++ and /work/SRC/openSUSE:Factory/.skopeo.new.9556/bsc1115165-0001-Introduce-the-sync-command.patch ++++++ skopeo-0.1.32.tar.xz -> skopeo-0.1.39.tar.xz ++++++ ++++ 386913 lines of diff (skipped) ++++++ skopeo.rpmlintrc ++++++ # rpm cannot find the libcontainers-common dependency addFilter ("^skopeo.* W: explicit-lib-dependency libcontainers-common")