Hello community, here is the log from the commit of package docker for openSUSE:Factory checked in at 2015-07-14 17:43:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/docker (Old) and /work/SRC/openSUSE:Factory/.docker.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "docker" Changes: -------- --- /work/SRC/openSUSE:Factory/docker/docker.changes 2015-05-28 09:56:16.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.docker.new/docker.changes 2015-07-14 17:44:51.000000000 +0200 @@ -1,0 +2,79 @@ +Fri Jul 10 11:22:00 UTC 2015 - [email protected] + +- Exclude init scripts other than systemd from the test-package + +------------------------------------------------------------------- +Wed Jul 1 12:38:50 UTC 2015 - [email protected] + +- Exclude intel 32 bits arch. Docker does not built on that. Let's + make it explicit. + +------------------------------------------------------------------- +Thu Jun 25 16:49:59 UTC 2015 - [email protected] + +- rediff ignore-dockerinit-checksum.patch, gcc-go-build-static-libgo.patch + to make them apply again. +- introduce go_arches for architectures that use the go compiler + instead of gcc-go +- add docker-netns-aarch64.patch: Add support for AArch64 +- enable build for aarch64 + +------------------------------------------------------------------- +Wed Jun 24 09:02:03 UTC 2015 - [email protected] + +- Build man pages only on platforms where gc compiler is available. + +------------------------------------------------------------------- +Mon Jun 22 08:48:11 UTC 2015 - [email protected] + +- Updated to 1.7.0 (2015-06-16) - bnc#935570 + * Runtime + - Experimental feature: support for out-of-process volume plugins + - The userland proxy can be disabled in favor of hairpin NAT using the daemon’s `--userland-proxy=false` flag + - The `exec` command supports the `-u|--user` flag to specify the new process owner + - Default gateway for containers can be specified daemon-wide using the `--default-gateway` and `--default-gateway-v6` flags + - The CPU CFS (Completely Fair Scheduler) quota can be set in `docker run` using `--cpu-quota` + - Container block IO can be controlled in `docker run` using`--blkio-weight` + - ZFS support + - The `docker logs` command supports a `--since` argument + - UTS namespace can be shared with the host with `docker run --uts=host` + * Quality + - Networking stack was entirely rewritten as part of the libnetwork effort + - Engine internals refactoring + - Volumes code was entirely rewritten to support the plugins effort + - Sending SIGUSR1 to a daemon will dump all goroutines stacks without exiting + * Build + - Support ${variable:-value} and ${variable:+value} syntax for environment variables + - Support resource management flags `--cgroup-parent`, `--cpu-period`, `--cpu-quota`, `--cpuset-cpus`, `--cpuset-mems` + - git context changes with branches and directories + - The .dockerignore file support exclusion rules + * Distribution + - Client support for v2 mirroring support for the official registry + * Bugfixes + - Firewalld is now supported and will automatically be used when available + - mounting --device recursively +- Patch 0002-Stripped-dockerinit-binary.patch renamed to fix-docker-init.patch + and fixed to build with latest version of docker + +------------------------------------------------------------------- +Tue Jun 9 16:35:46 UTC 2015 - [email protected] + +- Add test subpackage and fix line numbers in patches + +------------------------------------------------------------------- +Fri Jun 5 15:29:45 UTC 2015 - [email protected] + +- Fixed ppc64le name inside of spec file + +------------------------------------------------------------------- +Fri Jun 5 15:23:47 UTC 2015 - [email protected] + +- Build docker on PPC and S390x using gcc-go provided by gcc5 + * added sysconfig.docker.ppc64le: make docker daemon start on ppc64le + despite some iptables issues. To be removed soon + * ignore-dockerinit-checksum.patch: applied only when building with + gcc-go. Required to workaround a limitation of gcc-go + * gcc-go-build-static-libgo.patch: used only when building with gcc-go, + link libgo statically into docker itself. + +------------------------------------------------------------------- Old: ---- 0002-Stripped-dockerinit-binary.patch docker-1.6.2.tar.bz2 New: ---- docker-1.7.0.tar.bz2 docker-netns-aarch64.patch fix-docker-init.patch gcc-go-build-static-libgo.patch ignore-dockerinit-checksum.patch sysconfig.docker.ppc64le ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ docker.spec ++++++ --- /var/tmp/diff_new_pack.vzmK2B/_old 2015-07-14 17:44:53.000000000 +0200 +++ /var/tmp/diff_new_pack.vzmK2B/_new 2015-07-14 17:44:53.000000000 +0200 @@ -16,9 +16,10 @@ # -%define git_version 7c8fca2 +%define git_version 0baf609 +%define go_arches %ix86 x86_64 Name: docker -Version: 1.6.2 +Version: 1.7.0 Release: 0 Summary: The Linux container runtime License: Apache-2.0 @@ -37,14 +38,27 @@ Source6: docker-rpmlintrc Source7: README_SUSE.md -Patch0: 0002-Stripped-dockerinit-binary.patch +# TODO: remove once we figure out what is wrong with iptables on ppc64le +Source100: sysconfig.docker.ppc64le +Patch0: fix-docker-init.patch # PATCH-FIX-OPENSUSE libcontainer-apparmor-fixes.patch -- mount rules aren't supported in our apparmor Patch1: libcontainer-apparmor-fixes.patch +# Required to overcome some limitations of gcc-go: https://groups.google.com/forum/#!msg/golang-nuts/SlGCPYkjxo4/4DjcjXRCqAkJ +# Right now docker passes the sha1sum of the dockerinit binary to the docker binary at build time +# We cannot do that, right now a quick and really dirty way to get it running is +# to simply disable this check +Patch100: ignore-dockerinit-checksum.patch +Patch101: gcc-go-build-static-libgo.patch +Patch102: docker-netns-aarch64.patch BuildRequires: bash-completion BuildRequires: device-mapper-devel >= 1.2.68 BuildRequires: glibc-devel-static -BuildRequires: go >= 1.3 +%ifarch %go_arches +BuildRequires: go >= 1.4 BuildRequires: go-go-md2man +%else +BuildRequires: gcc5-go >= 5.0 +%endif BuildRequires: libapparmor-devel BuildRequires: libbtrfs-devel >= 3.8 BuildRequires: procps @@ -67,7 +81,7 @@ Conflicts: lxc < 1.0 PreReq: %fillup_prereq BuildRoot: %{_tmppath}/%{name}-%{version}-build -ExclusiveArch: armv7hl x86_64 +ExcludeArch: %ix86 %description Docker complements LXC with a high-level API which operates at the process @@ -98,18 +112,60 @@ %description zsh-completion Zsh command line completion support for %{name}. +%package test +Summary: Test package for docker +Group: System/Management +Requires: device-mapper-devel >= 1.2.68 +Requires: glibc-devel-static +%ifarch %go_arches +Requires: go >= 1.4 +%else +Requires: gcc5-go >= 5.0 +%endif +Requires: apparmor-parser +Requires: bash-completion +Requires: libapparmor-devel +Requires: libbtrfs-devel >= 3.8 +Requires: procps +Requires: sqlite3-devel +BuildArch: noarch + +%description test +Test package for docker. It contains the source code and the tests. + %prep %setup -q -n docker %patch0 -p1 %patch1 -p1 +%ifnarch %go_arches +%patch100 +%patch101 +%endif +%patch102 cp %{SOURCE7} . +find . -name ".gitignore" | xargs rm %build +%ifnarch %go_arches +mkdir /tmp/dirty-hack +ln -s /usr/bin/go-5 /tmp/dirty-hack/go +export PATH=/tmp/dirty-hack:$PATH +%endif + +(cat <<EOF export AUTO_GOPATH=1 export DOCKER_BUILDTAGS="exclude_graphdriver_aufs apparmor selinux" export DOCKER_GITCOMMIT=%{git_version} +EOF +) > docker_build_env +. ./docker_build_env ./hack/make.sh dynbinary -docs/man/md2man-all.sh +%ifarch %go_arches +man/md2man-all.sh +%endif +# remove other than systemd +# otherwise the resulting package will have extra requires +rm -rf hack/make/.build-deb %install install -d %{buildroot}%{go_contribdir} @@ -123,6 +179,9 @@ install -D -m0644 contrib/completion/bash/docker "%{buildroot}/etc/bash_completion.d/%{name}" install -D -m0644 contrib/completion/zsh/_docker "%{buildroot}/etc/zsh_completion.d/%{name}" +# copy all for the test package +install -d %{buildroot}/usr/src/docker/ +cp -av . %{buildroot}/usr/src/docker/ # # systemd service @@ -139,13 +198,19 @@ install -D -m 0644 %SOURCE3 %{buildroot}%{_prefix}/lib/udev/rules.d/80-%{name}.rules # sysconfig file +%ifarch ppc64le +install -D -m 644 %SOURCE100 %{buildroot}/var/adm/fillup-templates/sysconfig.docker +%else install -D -m 644 %SOURCE4 %{buildroot}/var/adm/fillup-templates/sysconfig.docker +%endif +%ifarch %go_arches # install manpages install -d %{buildroot}%{_mandir}/man1 -install -p -m 644 docs/man/man1/*.1 %{buildroot}%{_mandir}/man1 +install -p -m 644 man/man1/*.1 %{buildroot}%{_mandir}/man1 install -d %{buildroot}%{_mandir}/man5 -install -p -m 644 docs/man/man5/Dockerfile.5 %{buildroot}%{_mandir}/man5 +install -p -m 644 man/man5/Dockerfile.5 %{buildroot}%{_mandir}/man5 +%endif %pre echo "creating group docker..." @@ -173,9 +238,11 @@ %{_unitdir}/%{name}.socket %{_prefix}/lib/udev/rules.d/80-%{name}.rules /var/adm/fillup-templates/sysconfig.docker +%ifarch %go_arches %{_mandir}/man1/docker-*.1.gz %{_mandir}/man1/docker.1.gz %{_mandir}/man5/Dockerfile.5.gz +%endif %files bash-completion %defattr(-,root,root) @@ -185,4 +252,15 @@ %defattr(-,root,root) %config %{_sysconfdir}/zsh_completion.d/%{name} +%files test +%defattr(-,root,root) +/usr/src/docker/ +# exclude binaries +%exclude /usr/src/docker/bundles/ +# exclude init configurations other than systemd +%exclude /usr/src/docker/contrib/init/openrc +%exclude /usr/src/docker/contrib/init/sysvinit-debian +%exclude /usr/src/docker/contrib/init/sysvinit-redhat +%exclude /usr/src/docker/contrib/init/upstart + %changelog ++++++ docker-1.6.2.tar.bz2 -> docker-1.7.0.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/docker/docker-1.6.2.tar.bz2 /work/SRC/openSUSE:Factory/.docker.new/docker-1.7.0.tar.bz2 differ: char 11, line 1 ++++++ docker-netns-aarch64.patch ++++++ --- /dev/null +++ vendor/src/github.com/vishvananda/netns/netns_linux_arm64.go @@ -0,0 +1,7 @@ +// +build linux,arm64 + +package netns + +const ( + SYS_SETNS = 268 +) ++++++ docker-rpmlintrc ++++++ --- /var/tmp/diff_new_pack.vzmK2B/_old 2015-07-14 17:44:53.000000000 +0200 +++ /var/tmp/diff_new_pack.vzmK2B/_new 2015-07-14 17:44:53.000000000 +0200 @@ -4,3 +4,11 @@ addFilter ("^docker.x86_64: W: unstripped-binary-or-object /usr/lib/docker/dockerinit") addFilter ("^docker.x86_64: W: no-manual-page-for-binary docker") addFilter ("^docker.x86_64: W: no-manual-page-for-binary nsinit") +addFilter ("test.noarch.*: E: devel-file-in-non-devel-package") +addFilter ("test.noarch.*: W: pem-certificate") +addFilter ("test.noarch.*: W: non-executable-script") +addFilter ("test.noarch.*: W: hidden-file-or-dir") +addFilter ("test.noarch.*: W: files-duplicate") +addFilter ("test.noarch.*: W: script-without-shebang /usr/src/docker/docs/README.md") +addFilter ("test.noarch.*: W: sourced-script-with-shebang /etc/bash_completion.d/docker bash") +addFilter ("test.noarch.*: W: suse-filelist-forbidden-fhs23 /usr/src/docker") ++++++ fix-docker-init.patch ++++++ Index: docker/hack/make/.dockerinit =================================================================== --- docker.orig/hack/make/.dockerinit +++ docker/hack/make/.dockerinit @@ -29,5 +29,7 @@ else exit 1 fi +/usr/bin/strip -s $DEST/dockerinit-$VERSION + # sha1 our new dockerinit to ensure separate docker and dockerinit always run in a perfect pair compiled for one another export DOCKER_INITSHA1=$($sha1sum "$DEST/dockerinit-$VERSION" | cut -d' ' -f1) ++++++ gcc-go-build-static-libgo.patch ++++++ --- hack/make/binary +++ hack/make/binary @@ -9,6 +9,7 @@ echo "Building: $DEST/$BINARY_FULLNAME" go build \ + -gccgoflags="-static-libgo" \ -o "$DEST/$BINARY_FULLNAME" \ "${BUILDFLAGS[@]}" \ -ldflags " ++++++ ignore-dockerinit-checksum.patch ++++++ --- utils/utils.go +++ utils/utils.go @@ -76,7 +76,7 @@ } return os.SameFile(targetFileInfo, selfPathFileInfo) } - return dockerversion.INITSHA1 != "" && dockerInitSha1(target) == dockerversion.INITSHA1 + return true } // Figure out the path of our dockerinit (which may be SelfPath()) ++++++ sysconfig.docker.ppc64le ++++++ ## Path : System/Management ## Description : Extra cli switches for docker daemon ## Type : string ## Default : "" ## ServiceRestart : docker # # TODO: remove it once we fix the real issue DOCKER_OPTS=" -iptables=false "
