diff --git a/docker.changes b/docker.changes index 1e620f2..8bf8590 100644 --- a/docker.changes +++ b/docker.changes @@ -1,3 +1,35 @@ +------------------------------------------------------------------- +Wed Apr 12 07:58:08 UTC 2017 - asarai@suse.com + +- Enable Delegate=yes, since systemd will safely ignore lvalues it doesn't + understand. + +------------------------------------------------------------------- +Tue Apr 11 11:49:05 UTC 2017 - asarai@suse.com + +- Update SUSE secrets patch to handle boo#1030702. + * secrets-0001-daemon-allow-directory-creation-in-run-secrets.patch + * secrets-0002-SUSE-implement-SUSE-container-secrets.patch + +------------------------------------------------------------------- +Tue Apr 11 08:28:33 UTC 2017 - mmeister@suse.com + +- Fix (bsc#1032644) + + Change lvm2 from Requires to Recommends + + Docker usually uses a default storage driver, when it's not configured + explicitly. This default driver then depends on the underlying + system and gets chosen during installation. + +------------------------------------------------------------------- +Mon Mar 20 08:12:01 UTC 2017 - jmassaguerpla@suse.com + +- Disable libseccomp for leap 42.1, sle12sp1 and sle12, because + docker needs a higher version. Otherwise, we get the error + "conditional filtering requires libseccomp version >= 2.2.1 + (bsc#1028639 and bsc#1028638) + ------------------------------------------------------------------- Fri Mar 17 11:08:03 UTC 2017 - asarai@suse.com diff --git a/docker.service b/docker.service index 4b5b5d4..87760dc 100644 --- a/docker.service +++ b/docker.service @@ -27,7 +27,7 @@ TasksMax=infinity # Set delegate yes so that systemd does not reset the cgroups of docker containers # Only systemd 218 and above support this property. -#Delegate=yes +Delegate=yes # This is not necessary because of how we set up containerd. #KillMode=process diff --git a/docker.spec b/docker.spec index 9705ee9..bd0de84 100644 --- a/docker.spec +++ b/docker.spec @@ -81,7 +81,14 @@ BuildRequires: device-mapper-devel >= 1.2.68 BuildRequires: glibc-devel-static BuildRequires: libapparmor-devel BuildRequires: libbtrfs-devel >= 3.8 +# If not leap 42.1 (120100), not sle12sp1 (120100) and not sle12 (1315) +# enable libseccomp +%if 0%{?sle_version} != 120100 && 0%{?suse_version} != 1315 +%define with_libseccomp 1 +%endif +%if 0%{?with_libseccomp} BuildRequires: libseccomp-devel +%endif BuildRequires: libtool BuildRequires: procps BuildRequires: sqlite3-devel @@ -102,7 +109,6 @@ Requires: e2fsprogs Requires: git-core >= 1.7 Requires: iproute2 >= 3.5 Requires: iptables >= 1.4 -Requires: lvm2 >= 2.2.89 Requires: procps Requires: tar >= 1.26 Requires: xz >= 4.9 @@ -111,6 +117,10 @@ Requires(post): udev Requires(post): shadow # Not necessary, but must be installed to have a smooth upgrade. Recommends: docker-image-migrator +# Not necessary, but must be installed when the underlying system is +# configured to use lvm and the user doesn't explicitly provide a +# different storage-driver than devicemapper +Recommends: lvm2 >= 2.2.89 Conflicts: lxc < 1.0 BuildRoot: %{_tmppath}/%{name}-%{version}-build ExcludeArch: %ix86 s390 ppc @@ -200,11 +210,14 @@ ln -s %{_bindir}/go-6 $tmphack/go export PATH=$tmphack:$PATH %endif +BUILDTAGS="exclude_graphdriver_aufs apparmor selinux pkcs11" +%if 0%{?with_libseccomp} +BUILDTAGS="seccomp $BUILDTAGS" +%endif # Note that these commands do not allow %%elseif. # For versions equal to or below SLE12 && openSUSE_13.2 libdevmapper.h is not # recent enough to define dm_task_deferred_remove(). (This is not true of # SLE12_SP1 but we cannot distinguish it with this macro.) -BUILDTAGS="exclude_graphdriver_aufs apparmor seccomp selinux pkcs11" %if 0%{?suse_version} <= 1320 BUILDTAGS="libdm_no_deferred_remove $BUILDTAGS" %endif @@ -283,7 +296,12 @@ PKG_LIST=$(go list -e \ | grep -v 'github.com/docker/docker/cmd/dockerd$' \ | grep -v 'github.com/docker/docker/builder/dockerfile/parser$' \ | grep -v 'github.com/docker/docker/man$' \ +%if 0%{?with_libseccomp} | grep -v 'github.com/docker/docker/pkg/integration$') +%else + | grep -v 'github.com/docker/docker/pkg/integration$' \ + | grep -v 'github.com/docker/docker/profiles/seccomp$') +%endif go test -cover -ldflags -w -tags "$DOCKER_BUILDTAGS" -a -test.timeout=10m $PKG_LIST %endif diff --git a/secrets-0001-daemon-allow-directory-creation-in-run-secrets.patch b/secrets-0001-daemon-allow-directory-creation-in-run-secrets.patch index c1665a2..8b1eebe 100644 --- a/secrets-0001-daemon-allow-directory-creation-in-run-secrets.patch +++ b/secrets-0001-daemon-allow-directory-creation-in-run-secrets.patch @@ -1,4 +1,4 @@ -From 0c4cf4fac76f2a5272a808665985a2e0df6af0db Mon Sep 17 00:00:00 2001 +From 36b539ca64d8c47681d5f15689db03751962d496 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Wed, 8 Mar 2017 12:41:54 +1100 Subject: [PATCH 1/2] daemon: allow directory creation in /run/secrets @@ -10,14 +10,26 @@ useful for creating directories and subdirectories of secrets. Backport: https://github.com/docker/docker/pull/31632 Signed-off-by: Aleksa Sarai --- - daemon/container_operations_unix.go | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) + daemon/container_operations_unix.go | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/daemon/container_operations_unix.go b/daemon/container_operations_unix.go -index 2296045765d4..8527a7907373 100644 +index 2296045765d4..bb08d3c4a207 100644 --- a/daemon/container_operations_unix.go +++ b/daemon/container_operations_unix.go -@@ -195,8 +195,14 @@ func (daemon *Daemon) setupSecretDir(c *container.Container) (setupErr error) { +@@ -177,11 +177,6 @@ func (daemon *Daemon) setupSecretDir(c *container.Container) (setupErr error) { + } + + targetPath := filepath.Clean(s.File.Name) +- // ensure that the target is a filename only; no paths allowed +- if targetPath != filepath.Base(targetPath) { +- return fmt.Errorf("error creating secret: secret must not be a path") +- } +- + fPath := filepath.Join(localMountPath, targetPath) + if err := idtools.MkdirAllAs(filepath.Dir(fPath), 0700, rootUID, rootGID); err != nil { + return errors.Wrap(err, "error creating secret mount path") +@@ -195,8 +190,14 @@ func (daemon *Daemon) setupSecretDir(c *container.Container) (setupErr error) { if secret == nil { return fmt.Errorf("unable to get secret from secret store") } @@ -35,5 +47,5 @@ index 2296045765d4..8527a7907373 100644 uid, err := strconv.Atoi(s.File.UID) -- -2.12.0 +2.12.2 diff --git a/secrets-0002-SUSE-implement-SUSE-container-secrets.patch b/secrets-0002-SUSE-implement-SUSE-container-secrets.patch index a785381..600b8e4 100644 --- a/secrets-0002-SUSE-implement-SUSE-container-secrets.patch +++ b/secrets-0002-SUSE-implement-SUSE-container-secrets.patch @@ -1,4 +1,4 @@ -From a3106907d4786ed7d624201debdd43dc41fb4b97 Mon Sep 17 00:00:00 2001 +From a7fbdb729255da73e47e77ca37eec0da325356c4 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Wed, 8 Mar 2017 11:43:29 +1100 Subject: [PATCH 2/2] SUSE: implement SUSE container secrets @@ -286,5 +286,5 @@ index 000000000000..591abc998e67 + return nil +} -- -2.12.0 +2.12.2