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 - asarai@suse.com
+
+- 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 - asarai@suse.com
+
+- 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
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
---
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)