Hello community, here is the log from the commit of package umoci for openSUSE:Factory checked in at 2017-08-08 11:58:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/umoci (Old) and /work/SRC/openSUSE:Factory/.umoci.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "umoci" Tue Aug 8 11:58:15 2017 rev:5 rq:512497 version:0.3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/umoci/umoci.changes 2017-05-24 16:46:42.709440477 +0200 +++ /work/SRC/openSUSE:Factory/.umoci.new/umoci.changes 2017-08-08 11:58:16.948112053 +0200 @@ -1,0 +2,57 @@ +Tue Jul 25 10:42:54 UTC 2017 - [email protected] + +- Add backport of https://github.com/openSUSE/umoci/pull/157, to fix i586 + builds. + + i586-0001-fix-mis-usage-of-time.Unix.patch + +------------------------------------------------------------------- +Sat Jul 22 15:57:44 UTC 2017 - [email protected] + +- Update to umoci v0.3.0. Upstream changelog: + - `umoci` now passes all of the requirements for the [CII best practices bading + program][cii]. openSUSE/umoci#134 + - `umoci` also now has more extensive architecture, quick-start and roadmap + documentation. openSUSE/umoci#134 + - `umoci` now supports [`1.0.0` of the OCI image + specification][ispec-v1.0.0] and [`1.0.0` of the OCI runtime + specification][rspec-v1.0.0], which are the first milestone release. Note + that there are still some remaining UX issues with `--image` and other parts + of `umoci` which may be subject to change in future versions. In particular, + this update of the specification now means that images may have ambiguous + tags. `umoci` will warn you if an operation may have an ambiguous result, but + we plan to improve this functionality far more in the future. + openSUSE/umoci#133 openSUSE/umoci#142 + - `umoci` also now supports more complicated descriptor walk structures, and + also handles mutation of such structures more sanely. At the moment, this + functionality has not been used "in the wild" and `umoci` doesn't have the UX + to create such structures (yet) but these will be implemented in future + versions. openSUSE/umoci#145 + - `umoci repack` now supports `--mask-path` to ignore changes in the rootfs + that are in a child of at least one of the provided masks when generating new + layers. openSUSE/umoci#127 + - Error messages from `github.com/openSUSE/umoci/oci/cas/drivers/dir` actually + make sense now. openSUSE/umoci#121 + - `umoci unpack` now generates `config.json` blobs according to the [still + proposed][ispec-pr492] OCI image specification conversion document. + openSUSE/umoci#120 + - `umoci repack` also now automatically adding `Config.Volumes` from the image + configuration to the set of masked paths. This matches recently added + [recommendations by the spec][ispec-pr694], but is a backwards-incompatible + change because the new default is that `Config.Volumes` **will** be masked. + If you wish to retain the old semantics, use `--no-mask-volumes` (though make + sure to be aware of the reasoning behind `Config.Volume` masking). + openSUSE/umoci#127 + - `umoci` now uses [`SecureJoin`][securejoin] rather than a patched version of + `FollowSymlinkInScope`. The two implementations are roughly equivalent, but + `SecureJoin` has a nicer API and is maintained as a separate project. + - Switched to using `golang.org/x/sys/unix` over `syscall` where possible, + which makes the codebase significantly cleaner. openSUSE/umoci#141 + + [cii]: https://bestpractices.coreinfrastructure.org/projects/1084 + [rspec-v1.0.0]: https://github.com/opencontainers/runtime-spec/releases/tag/v1.0.0 + [ispec-v1.0.0]: https://github.com/opencontainers/image-spec/releases/tag/v1.0.0 + [ispec-pr492]: https://github.com/opencontainers/image-spec/pull/492 + [ispec-pr694]: https://github.com/opencontainers/image-spec/pull/694 + [securejoin]: https://github.com/cyphar/filepath-securejoin + +------------------------------------------------------------------- Old: ---- umoci-0.2.1.tar.xz umoci-0.2.1.tar.xz.asc New: ---- i586-0001-fix-mis-usage-of-time.Unix.patch umoci-0.3.0.tar.xz umoci-0.3.0.tar.xz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ umoci.spec ++++++ --- /var/tmp/diff_new_pack.izCfmE/_old 2017-08-08 11:58:18.407906450 +0200 +++ /var/tmp/diff_new_pack.izCfmE/_new 2017-08-08 11:58:18.427903634 +0200 @@ -24,7 +24,7 @@ %define project github.com/openSUSE/umoci Name: umoci -Version: 0.2.1 +Version: 0.3.0 Release: 0 Summary: Open Container Image manipulation tool License: Apache-2.0 @@ -33,6 +33,9 @@ Source0: %{name}-%{version}.tar.xz Source1: %{name}-%{version}.tar.xz.asc Source2: %{name}.keyring +# PATCH-FIX-UPSTREAM: Backport of https://github.com/openSUSE/umoci/pull/157. +Patch100: i586-0001-fix-mis-usage-of-time.Unix.patch +BuildRequires: fdupes BuildRequires: go >= 1.6 BuildRequires: go-go-md2man BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -41,13 +44,14 @@ %endif %description -umoci modifies Open Container images. - -umoci is a manipulation tool for OCI images. In particular, it is an -alternative to oci-image-tools provided by the OCI. +umoci modifies Open Container images. umoci is a manipulation tool for OCI +images. In particular, it is a more complete alternative to oci-image-tools +provided by the OCI. %prep %setup -q +# https://github.com/openSUSE/umoci/pull/157 +%patch100 -p1 %build @@ -74,11 +78,11 @@ install -D -m 0755 %{name} "%{buildroot}/%{_bindir}/%{name}" # Install all of the docs. -for file in man/*.1; do +for file in doc/man/*.1; do install -D -m 0644 $file "%{buildroot}/%{_mandir}/man1/$(basename $file)" done -%fdupes %{buildroot}/%{_prefix} +%fdupes %{buildroot} %check export GOPATH=$HOME/go @@ -86,7 +90,7 @@ %files %defattr(-,root,root) -%doc COPYING README.md man/*.md +%doc COPYING README.md doc/* %{_bindir}/%{name} %{_mandir}/man1/umoci* ++++++ _service ++++++ --- /var/tmp/diff_new_pack.izCfmE/_old 2017-08-08 11:58:18.707864204 +0200 +++ /var/tmp/diff_new_pack.izCfmE/_new 2017-08-08 11:58:18.707864204 +0200 @@ -2,14 +2,14 @@ <service name="download_url" mode="disabled"> <param name="protocol">https</param> <param name="host">github.com</param> - <param name="path">openSUSE/umoci/releases/download/v0.2.1/umoci.tar.xz</param> - <param name="filename">umoci-0.2.1.tar.xz</param> + <param name="path">openSUSE/umoci/releases/download/v0.3.0/umoci.tar.xz</param> + <param name="filename">umoci-0.3.0.tar.xz</param> </service> <service name="download_url" mode="disabled"> <param name="protocol">https</param> <param name="host">github.com</param> - <param name="path">openSUSE/umoci/releases/download/v0.2.1/umoci.tar.xz.asc</param> - <param name="filename">umoci-0.2.1.tar.xz.asc</param> + <param name="path">openSUSE/umoci/releases/download/v0.3.0/umoci.tar.xz.asc</param> + <param name="filename">umoci-0.3.0.tar.xz.asc</param> </service> <service name="set_version" mode="disabled"> <param name="basename">umoci</param> ++++++ i586-0001-fix-mis-usage-of-time.Unix.patch ++++++ >From 351b92da519b61cb24b5f7f71e5b9cf2c8c7bb02 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai <[email protected]> Date: Mon, 24 Jul 2017 07:34:49 +1000 Subject: [PATCH] *: fix mis-usage of unix.Stat_t.[AM]tim with time.Unix 80f787e4853d ("*: replace syscall with unix") did not correctly replace the usage of (*syscall.Stat_t).[AM]tim.Unix() in tests, which resulted in 32-bit builds failing in OBS because we run those tests in a %check section. We need to add CI testing to make sure that we don't miss stuff like this in the future. Fixes: 80f787e4853d ("*: replace syscall with unix") Signed-off-by: Aleksa Sarai <[email protected]> --- pkg/system/utime_linux_test.go | 48 ++++++++++++++++++++-------------------- pkg/unpriv/unpriv_utimes_test.go | 48 ++++++++++++++++++++-------------------- 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/pkg/system/utime_linux_test.go b/pkg/system/utime_linux_test.go index f4597020626a..719071df61b1 100644 --- a/pkg/system/utime_linux_test.go +++ b/pkg/system/utime_linux_test.go @@ -57,10 +57,10 @@ func TestLutimesFile(t *testing.T) { t.Fatal(err) } - atimeOld := time.Unix(fiOld.Atim.Sec, fiOld.Atim.Nsec) - mtimeOld := time.Unix(fiOld.Mtim.Sec, fiOld.Mtim.Nsec) - atimeNew := time.Unix(fiNew.Atim.Sec, fiNew.Atim.Nsec) - mtimeNew := time.Unix(fiNew.Mtim.Sec, fiNew.Mtim.Nsec) + atimeOld := time.Unix(fiOld.Atim.Unix()) + mtimeOld := time.Unix(fiOld.Mtim.Unix()) + atimeNew := time.Unix(fiNew.Atim.Unix()) + mtimeNew := time.Unix(fiNew.Mtim.Unix()) if atimeOld.Equal(atimeNew) { t.Errorf("atime was not changed at all!") @@ -106,10 +106,10 @@ func TestLutimesDirectory(t *testing.T) { t.Fatal(err) } - atimeOld := time.Unix(fiOld.Atim.Sec, fiOld.Atim.Nsec) - mtimeOld := time.Unix(fiOld.Mtim.Sec, fiOld.Mtim.Nsec) - atimeNew := time.Unix(fiNew.Atim.Sec, fiNew.Atim.Nsec) - mtimeNew := time.Unix(fiNew.Mtim.Sec, fiNew.Mtim.Nsec) + atimeOld := time.Unix(fiOld.Atim.Unix()) + mtimeOld := time.Unix(fiOld.Mtim.Unix()) + atimeNew := time.Unix(fiNew.Atim.Unix()) + mtimeNew := time.Unix(fiNew.Mtim.Unix()) if atimeOld.Equal(atimeNew) { t.Errorf("atime was not changed at all!") @@ -161,10 +161,10 @@ func TestLutimesSymlink(t *testing.T) { t.Fatal(err) } - atimeOld := time.Unix(fiOld.Atim.Sec, fiOld.Atim.Nsec) - mtimeOld := time.Unix(fiOld.Mtim.Sec, fiOld.Mtim.Nsec) - atimeNew := time.Unix(fiNew.Atim.Sec, fiNew.Atim.Nsec) - mtimeNew := time.Unix(fiNew.Mtim.Sec, fiNew.Mtim.Nsec) + atimeOld := time.Unix(fiOld.Atim.Unix()) + mtimeOld := time.Unix(fiOld.Mtim.Unix()) + atimeNew := time.Unix(fiNew.Atim.Unix()) + mtimeNew := time.Unix(fiNew.Mtim.Unix()) if atimeOld.Equal(atimeNew) { t.Errorf("atime was not changed at all!") @@ -180,10 +180,10 @@ func TestLutimesSymlink(t *testing.T) { } // Make sure that the parent directory was unchanged. - atimeParentOld := time.Unix(fiParentOld.Atim.Sec, fiParentOld.Atim.Nsec) - mtimeParentOld := time.Unix(fiParentOld.Mtim.Sec, fiParentOld.Mtim.Nsec) - atimeParentNew := time.Unix(fiParentNew.Atim.Sec, fiParentNew.Atim.Nsec) - mtimeParentNew := time.Unix(fiParentNew.Mtim.Sec, fiParentNew.Mtim.Nsec) + atimeParentOld := time.Unix(fiParentOld.Atim.Unix()) + mtimeParentOld := time.Unix(fiParentOld.Mtim.Unix()) + atimeParentNew := time.Unix(fiParentNew.Atim.Unix()) + mtimeParentNew := time.Unix(fiParentNew.Mtim.Unix()) if !atimeParentOld.Equal(atimeParentNew) { t.Errorf("parent directory atime was changed! old='%s' new='%s'", atimeParentOld, atimeParentNew) @@ -239,10 +239,10 @@ func TestLutimesRelative(t *testing.T) { t.Fatal(err) } - atimeOld := time.Unix(fiOld.Atim.Sec, fiOld.Atim.Nsec) - mtimeOld := time.Unix(fiOld.Mtim.Sec, fiOld.Mtim.Nsec) - atimeNew := time.Unix(fiNew.Atim.Sec, fiNew.Atim.Nsec) - mtimeNew := time.Unix(fiNew.Mtim.Sec, fiNew.Mtim.Nsec) + atimeOld := time.Unix(fiOld.Atim.Unix()) + mtimeOld := time.Unix(fiOld.Mtim.Unix()) + atimeNew := time.Unix(fiNew.Atim.Unix()) + mtimeNew := time.Unix(fiNew.Mtim.Unix()) if atimeOld.Equal(atimeNew) { t.Errorf("atime was not changed at all!") @@ -258,10 +258,10 @@ func TestLutimesRelative(t *testing.T) { } // Make sure that the parent directory was unchanged. - atimeParentOld := time.Unix(fiParentOld.Atim.Sec, fiParentOld.Atim.Nsec) - mtimeParentOld := time.Unix(fiParentOld.Mtim.Sec, fiParentOld.Mtim.Nsec) - atimeParentNew := time.Unix(fiParentNew.Atim.Sec, fiParentNew.Atim.Nsec) - mtimeParentNew := time.Unix(fiParentNew.Mtim.Sec, fiParentNew.Mtim.Nsec) + atimeParentOld := time.Unix(fiParentOld.Atim.Unix()) + mtimeParentOld := time.Unix(fiParentOld.Mtim.Unix()) + atimeParentNew := time.Unix(fiParentNew.Atim.Unix()) + mtimeParentNew := time.Unix(fiParentNew.Mtim.Unix()) if !atimeParentOld.Equal(atimeParentNew) { t.Errorf("parent directory atime was changed! old='%s' new='%s'", atimeParentOld, atimeParentNew) diff --git a/pkg/unpriv/unpriv_utimes_test.go b/pkg/unpriv/unpriv_utimes_test.go index 423e808a1da3..ac037e25f50f 100644 --- a/pkg/unpriv/unpriv_utimes_test.go +++ b/pkg/unpriv/unpriv_utimes_test.go @@ -56,10 +56,10 @@ func TestLutimesFile(t *testing.T) { t.Fatal(err) } - atimeOld := time.Unix(fiOld.Atim.Sec, fiOld.Atim.Nsec) - mtimeOld := time.Unix(fiOld.Mtim.Sec, fiOld.Mtim.Nsec) - atimeNew := time.Unix(fiNew.Atim.Sec, fiNew.Atim.Nsec) - mtimeNew := time.Unix(fiNew.Mtim.Sec, fiNew.Mtim.Nsec) + atimeOld := time.Unix(fiOld.Atim.Unix()) + mtimeOld := time.Unix(fiOld.Mtim.Unix()) + atimeNew := time.Unix(fiNew.Atim.Unix()) + mtimeNew := time.Unix(fiNew.Mtim.Unix()) if atimeOld.Equal(atimeNew) { t.Errorf("atime was not changed at all!") @@ -104,10 +104,10 @@ func TestLutimesDirectory(t *testing.T) { t.Fatal(err) } - atimeOld := time.Unix(fiOld.Atim.Sec, fiOld.Atim.Nsec) - mtimeOld := time.Unix(fiOld.Mtim.Sec, fiOld.Mtim.Nsec) - atimeNew := time.Unix(fiNew.Atim.Sec, fiNew.Atim.Nsec) - mtimeNew := time.Unix(fiNew.Mtim.Sec, fiNew.Mtim.Nsec) + atimeOld := time.Unix(fiOld.Atim.Unix()) + mtimeOld := time.Unix(fiOld.Mtim.Unix()) + atimeNew := time.Unix(fiNew.Atim.Unix()) + mtimeNew := time.Unix(fiNew.Mtim.Unix()) if atimeOld.Equal(atimeNew) { t.Errorf("atime was not changed at all!") @@ -158,10 +158,10 @@ func TestLutimesSymlink(t *testing.T) { t.Fatal(err) } - atimeOld := time.Unix(fiOld.Atim.Sec, fiOld.Atim.Nsec) - mtimeOld := time.Unix(fiOld.Mtim.Sec, fiOld.Mtim.Nsec) - atimeNew := time.Unix(fiNew.Atim.Sec, fiNew.Atim.Nsec) - mtimeNew := time.Unix(fiNew.Mtim.Sec, fiNew.Mtim.Nsec) + atimeOld := time.Unix(fiOld.Atim.Unix()) + mtimeOld := time.Unix(fiOld.Mtim.Unix()) + atimeNew := time.Unix(fiNew.Atim.Unix()) + mtimeNew := time.Unix(fiNew.Mtim.Unix()) if atimeOld.Equal(atimeNew) { t.Errorf("atime was not changed at all!") @@ -177,10 +177,10 @@ func TestLutimesSymlink(t *testing.T) { } // Make sure that the parent directory was unchanged. - atimeParentOld := time.Unix(fiParentOld.Atim.Sec, fiParentOld.Atim.Nsec) - mtimeParentOld := time.Unix(fiParentOld.Mtim.Sec, fiParentOld.Mtim.Nsec) - atimeParentNew := time.Unix(fiParentNew.Atim.Sec, fiParentNew.Atim.Nsec) - mtimeParentNew := time.Unix(fiParentNew.Mtim.Sec, fiParentNew.Mtim.Nsec) + atimeParentOld := time.Unix(fiParentOld.Atim.Unix()) + mtimeParentOld := time.Unix(fiParentOld.Mtim.Unix()) + atimeParentNew := time.Unix(fiParentNew.Atim.Unix()) + mtimeParentNew := time.Unix(fiParentNew.Mtim.Unix()) if !atimeParentOld.Equal(atimeParentNew) { t.Errorf("parent directory atime was changed! old='%s' new='%s'", atimeParentOld, atimeParentNew) @@ -236,10 +236,10 @@ func TestLutimesRelative(t *testing.T) { t.Fatal(err) } - atimeOld := time.Unix(fiOld.Atim.Sec, fiOld.Atim.Nsec) - mtimeOld := time.Unix(fiOld.Mtim.Sec, fiOld.Mtim.Nsec) - atimeNew := time.Unix(fiNew.Atim.Sec, fiNew.Atim.Nsec) - mtimeNew := time.Unix(fiNew.Mtim.Sec, fiNew.Mtim.Nsec) + atimeOld := time.Unix(fiOld.Atim.Unix()) + mtimeOld := time.Unix(fiOld.Mtim.Unix()) + atimeNew := time.Unix(fiNew.Atim.Unix()) + mtimeNew := time.Unix(fiNew.Mtim.Unix()) if atimeOld.Equal(atimeNew) { t.Errorf("atime was not changed at all!") @@ -255,10 +255,10 @@ func TestLutimesRelative(t *testing.T) { } // Make sure that the parent directory was unchanged. - atimeParentOld := time.Unix(fiParentOld.Atim.Sec, fiParentOld.Atim.Nsec) - mtimeParentOld := time.Unix(fiParentOld.Mtim.Sec, fiParentOld.Mtim.Nsec) - atimeParentNew := time.Unix(fiParentNew.Atim.Sec, fiParentNew.Atim.Nsec) - mtimeParentNew := time.Unix(fiParentNew.Mtim.Sec, fiParentNew.Mtim.Nsec) + atimeParentOld := time.Unix(fiParentOld.Atim.Unix()) + mtimeParentOld := time.Unix(fiParentOld.Mtim.Unix()) + atimeParentNew := time.Unix(fiParentNew.Atim.Unix()) + mtimeParentNew := time.Unix(fiParentNew.Mtim.Unix()) if !atimeParentOld.Equal(atimeParentNew) { t.Errorf("parent directory atime was changed! old='%s' new='%s'", atimeParentOld, atimeParentNew) -- 2.13.3 ++++++ umoci-0.2.1.tar.xz -> umoci-0.3.0.tar.xz ++++++ ++++ 140489 lines of diff (skipped)
