commit 582ae2cc2b8176d9a5e39d38573a314901fc76dc
Author: Lokesh Mandvekar <lsm5(a)redhat.com>
Date: Thu Nov 21 00:14:27 2013 -0600
docker-io 0.7-rc6.17
Signed-off-by: Lokesh Mandvekar <lsm5(a)redhat.com>
.gitignore | 1 +
docker-0.7-el6-docs.patch | 13 ++
docker-0.7-remove-dotcloud-tar.patch | 13 ++
docker-bridge_flag.patch | 16 ++
docker-io.spec | 300 ++++++++++++++++++++++++++++++++++
docker.service | 11 ++
docker.xinetd | 11 ++
7 files changed, 365 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..335ec95
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*.tar.gz
diff --git a/docker-0.7-el6-docs.patch b/docker-0.7-el6-docs.patch
new file mode 100644
index 0000000..68f92d0
--- /dev/null
+++ b/docker-0.7-el6-docs.patch
@@ -0,0 +1,13 @@
+diff --git a/docs/Makefile b/docs/Makefile
+index a97255f..742d3df 100644
+--- a/docs/Makefile
++++ b/docs/Makefile
+@@ -3,7 +3,7 @@
+
+ # You can set these variables from the command line.
+ SPHINXOPTS =
+-SPHINXBUILD = sphinx-build
++SPHINXBUILD = sphinx-1.0-build
+ PAPER =
+ BUILDDIR = _build
+ PYTHON = python
diff --git a/docker-0.7-remove-dotcloud-tar.patch b/docker-0.7-remove-dotcloud-tar.patch
new file mode 100644
index 0000000..5f0d579
--- /dev/null
+++ b/docker-0.7-remove-dotcloud-tar.patch
@@ -0,0 +1,13 @@
+diff --git a/utils/tarsum.go b/utils/tarsum.go
+index 290be24..9cba516 100644
+--- a/utils/tarsum.go
++++ b/utils/tarsum.go
+@@ -5,7 +5,7 @@ import (
+ "compress/gzip"
+ "crypto/sha256"
+ "encoding/hex"
+- "github.com/dotcloud/tar"
++ "archive/tar"
+ "hash"
+ "io"
+ "sort"
diff --git a/docker-bridge_flag.patch b/docker-bridge_flag.patch
new file mode 100644
index 0000000..21c69ed
--- /dev/null
+++ b/docker-bridge_flag.patch
@@ -0,0 +1,16 @@
+diff --git a/server.go b/server.go
+index 768f73a..f9bd884 100644
+--- a/server.go
++++ b/server.go
+@@ -63,7 +63,10 @@ func jobInitApi(job *engine.Job) string {
+ }()
+ job.Eng.Hack_SetGlobalVar("httpapi.server", srv)
+ job.Eng.Hack_SetGlobalVar("httpapi.runtime", srv.runtime)
+- job.Eng.Hack_SetGlobalVar("httpapi.bridgeIP",
srv.runtime.networkManager.bridgeNetwork.IP)
++ //
https://github.com/dotcloud/docker/issues/2768
++ if srv.runtime.networkManager.bridgeNetwork != nil {
++ job.Eng.Hack_SetGlobalVar("httpapi.bridgeIP",
srv.runtime.networkManager.bridgeNetwork.IP)
++ }
+ if err := job.Eng.Register("create", srv.ContainerCreate); err != nil {
+ return err.Error()
+ }
diff --git a/docker-io.spec b/docker-io.spec
new file mode 100644
index 0000000..b406374
--- /dev/null
+++ b/docker-io.spec
@@ -0,0 +1,300 @@
+%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
+%bcond_without systemd
+%endif
+
+#debuginfo not supported with Go
+%global debug_package %{nil}
+%global gopath %{_datadir}/gocode
+
+%global commit 9af77302f476c3cef11bd4a1efe6b46f98abe781
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
+
+Name: docker-io
+Version: 0.7
+Release: 0.17.rc6%{?dist}
+Summary: Automates deployment of containerized applications
+License: ASL 2.0
+
+Patch0: docker-0.7-remove-dotcloud-tar.patch
+Patch1: docker-0.7-el6-docs.patch
+Patch2: docker-bridge_flag.patch
+URL:
http://www.docker.io
+# only x86_64 for now:
https://github.com/dotcloud/docker/issues/136
+ExclusiveArch: x86_64
+Source0:
https://github.com/dotcloud/docker/archive/%{commit}/docker-%{shortcommit...
+Source1: docker.service
+# though final name for xinetd file is simply 'docker',
+# having .xinetd makes things clear
+Source2: docker.xinetd
+BuildRequires: gcc
+BuildRequires: glibc-static
+BuildRequires:
golang(github.com/gorilla/mux)
+BuildRequires:
golang(github.com/kr/pty)
+BuildRequires:
golang(code.google.com/p/go.net/websocket)
+BuildRequires:
golang(code.google.com/p/gosqlite/sqlite3)
+BuildRequires: device-mapper-devel
+BuildRequires: python-sphinxcontrib-httpdomain
+%if %{with systemd}
+BuildRequires: pkgconfig(systemd)
+Requires: systemd-units
+%else
+Requires: xinetd
+%endif
+Requires: lxc
+Requires: tar
+Provides: lxc-docker = %{version}
+
+%description
+Docker is an open-source engine that automates the deployment of any
+application as a lightweight, portable, self-sufficient container that will
+run virtually anywhere.
+
+Docker containers can encapsulate any payload, and will run consistently on
+and between virtually any server. The same container that a developer builds
+and tests on a laptop will run at scale, in production*, on VMs, bare-metal
+servers, OpenStack clusters, public instances, or combinations of the above.
+
+%prep
+%setup -q -n docker-%{commit}
+rm -rf vendor
+%patch0 -p1 -b docker-0.7-remove-dotcloud-tar.patch
+%if 0%{?rhel} >= 6
+%patch1 -p1 -b docker-0.7-el6-docs.patch
+%endif
+%patch2 -p1 -b none-bridge
+
+%build
+mkdir _build
+pushd _build
+
+mkdir -p
src/github.com/dotcloud
+ln -s $(dirs +1 -l)
src/github.com/dotcloud/docker
+export GOPATH=$(pwd):%{gopath}
+# passing version information build flags BZ #1017186
+export LDFLAGS="-X main.GITCOMMIT '%{shortcommit}/%{release}' -X
main.VERSION '%{version}' -w"
+# tamper with their magic
+export LDFLAGS_STATIC="-X
github.com/dotcloud/docker/utils.IAMSTATIC true"
+export BUILDFLAGS="-tags netgo"
+go build -v -a -ldflags "$LDFLAGS $LDFLAGS_STATIC" $BUILDFLAGS
github.com/dotcloud/docker/docker
+go build -v -a -ldflags \
+ "$LDFLAGS -linkmode external -extldflags '-lpthread -static
-Wl,--unresolved-symbols=ignore-in-object-files' $LDFLAGS_STATIC" \
+ $BUILDFLAGS \
+
github.com/dotcloud/docker/dockerinit
+
+popd
+
+make -C docs/ man
+
+%install
+install -d %{buildroot}%{_bindir}
+install -d %{buildroot}%{_libexecdir}/docker
+install -d %{buildroot}%{_mandir}/man1
+install -d %{buildroot}%{_sysconfdir}/bash_completion.d
+install -d %{buildroot}%{_datadir}/zsh/site-functions
+install -d -m 700 %{buildroot}%{_sharedstatedir}/docker
+install -p -m 755 _build/docker %{buildroot}%{_bindir}/docker
+install -p -m 755 _build/dockerinit %{buildroot}%{_libexecdir}/docker
+install -p -m 644 docs/_build/man/docker.1 %{buildroot}%{_mandir}/man1
+install -p -m 644 contrib/completion/bash/docker
%{buildroot}%{_sysconfdir}/bash_completion.d/docker.bash
+install -p -m 644 contrib/completion/zsh/_docker
%{buildroot}%{_datadir}/zsh/site-functions
+%if %{with systemd}
+install -d %{buildroot}%{_unitdir}
+install -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir}
+%else
+install -d %{buildroot}%{_sysconfdir}/xinetd.d
+install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/xinetd.d/docker
+%endif
+
+%pre
+getent group docker > /dev/null || %{_sbindir}/groupadd -r docker
+exit 0
+
+%post
+%if %{with systemd}
+%systemd_post %{SOURCE1}
+%endif
+
+%preun
+%if %{with systemd}
+%systemd_preun %{SOURCE1}
+%else
+if [ $1 -eq 0 ]; then
+ /sbin/service xinetd condrestart > /dev/null 2>&1
+fi
+%endif
+
+%postun
+%if %{with systemd}
+%systemd_postun_with_restart %{SOURCE1}
+%endif
+
+%files
+%defattr(-,root,root,-)
+%doc AUTHORS CHANGELOG.md CONTRIBUTING.md FIXME LICENSE MAINTAINERS NOTICE README.md
+%{_mandir}/man1/docker.1.gz
+%{_bindir}/docker
+%{_libexecdir}/docker
+%if %{with systemd}
+%{_unitdir}/docker.service
+%else
+%config(noreplace) %{_sysconfdir}/xinetd.d/docker
+%endif
+%dir %{_sysconfdir}/bash_completion.d
+%{_sysconfdir}/bash_completion.d/docker.bash
+%{_datadir}/zsh/site-functions/_docker
+%dir %{_sharedstatedir}/docker
+
+%changelog
+* Wed Nov 20 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-0.17.rc6
+- removed ExecStartPost lines from docker.service (BZ #1026045)
+
+* Wed Nov 20 2013 Vincent Batts <vbatts(a)redhat.com> - 0.7-0.16.rc6
+- adding back the none bridge patch
+
+* Wed Nov 20 2013 Vincent Batts <vbatts(a)redhat.com> - 0.7-0.15.rc6
+- update docker source to crosbymichael/0.7.0-rc6
+- bridge-patch is not needed on this branch
+
+* Tue Nov 19 2013 Vincent Batts <vbatts(a)redhat.com> - 0.7-0.14.rc5
+- update docker source to crosbymichael/0.7-rc5
+- update docker source to 457375ea370a2da0df301d35b1aaa8f5964dabfe
+- static magic
+- place dockerinit in a libexec
+- add sqlite dependency
+
+* Sat Nov 02 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-0.13.dm
+- docker.service file sets iptables rules to allow container networking, this
+ is a stopgap approach, relevant pull request here:
+
https://github.com/dotcloud/docker/pull/2527
+
+* Sat Oct 26 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-0.12.dm
+- dm branch
+- dockerinit -> docker-init
+
+* Tue Oct 22 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-0.11.rc4
+- passing version information for docker build BZ #1017186
+
+* Sat Oct 19 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-0.10.rc4
+- rc version bump
+- docker-init -> dockerinit
+- zsh completion script installed to /usr/share/zsh/site-functions
+
+* Fri Oct 18 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-0.9.rc3
+- lxc-docker version matches package version
+
+* Fri Oct 18 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-0.8.rc3
+- double quotes removed from buildrequires as per existing golang rules
+
+* Fri Oct 11 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-0.7.rc3
+- xinetd file renamed to docker.xinetd for clarity
+
+* Thu Oct 10 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-0.6.rc3
+- patched for el6 to use sphinx-1.0-build
+
+* Wed Oct 09 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-0.5.rc3
+- rc3 version bump
+- exclusivearch x86_64
+
+* Wed Oct 09 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-0.4.rc2
+- debuginfo not Go-ready yet, skipped
+
+* Wed Oct 09 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-0.3.rc2
+- debuginfo package generated
+- buildrequires listed with versions where needed
+- conditionals changed to reflect systemd or not
+- docker commit value not needed
+- versioned provides lxc-docker
+
+* Mon Oct 07 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-2.rc2
+- rc branch includes devmapper
+- el6 BZ #1015865 fix included
+
+* Sun Oct 06 2013 Lokesh Mandvekar <lsm5(a)redhat.com> - 0.7-1
+- version bump, includes devicemapper
+- epel conditionals included
+- buildrequires sqlite-devel
+
+* Fri Oct 04 2013 Lokesh Mandvekar <lsm5(a)fedoraproject.org> - 0.6.3-4.devicemapper
+- docker-io service enables IPv4 and IPv6 forwarding
+- docker user not needed
+- golang not supported on ppc64, docker-io excluded too
+
+* Thu Oct 03 2013 Lokesh Mandvekar <lsm5(a)fedoraproject.org> - 0.6.3-3.devicemapper
+- Docker rebuilt with latest kr/pty, first run issue solved
+
+* Fri Sep 27 2013 Marek Goldmann <mgoldman(a)redhat.com> - 0.6.3-2.devicemapper
+- Remove setfcap from lxc.cap.drop to make setxattr() calls working in the
+ containers, RHBZ#1012952
+
+* Thu Sep 26 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.6.3-1.devicemapper
+- version bump
+- new version solves docker push issues
+
+* Tue Sep 24 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.6.2-14.devicemapper
+- package requires lxc
+
+* Tue Sep 24 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.6.2-13.devicemapper
+- package requires tar
+
+* Tue Sep 24 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.6.2-12.devicemapper
+- /var/lib/docker installed
+- package also provides lxc-docker
+
+* Mon Sep 23 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.6.2-11.devicemapper
+- better looking url
+
+* Mon Sep 23 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.6.2-10.devicemapper
+- release tag changed to denote devicemapper patch
+
+* Mon Sep 23 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.6.2-9
+- device-mapper-devel is a buildrequires for alex's code
+- docker.service listed as a separate source file
+
+* Sun Sep 22 2013 Matthew Miller <mattdm(a)fedoraproject.org> 0.6.2-8
+- install bash completion
+- use -v for go build to show progress
+
+* Sun Sep 22 2013 Matthew Miller <mattdm(a)fedoraproject.org> 0.6.2-7
+- build and install separate docker-init
+
+* Sun Sep 22 2013 Matthew Miller <mattdm(a)fedoraproject.org> 0.6.2-4
+- update to use new source-only golang lib packages
+
+* Sat Sep 21 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.6.2-3
+- man page generation from docs/.
+- systemd service file created
+- dotcloud/tar no longer required
+
+* Fri Sep 20 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.6.2-2
+- patched with alex larsson's devmapper code
+
+* Wed Sep 18 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.6.2-1
+- Version bump
+
+* Tue Sep 10 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.6.1-2
+- buildrequires updated
+- package renamed to docker-io
+
+* Fri Aug 30 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.6.1-1
+- Version bump
+- Package name change from lxc-docker to docker
+- Makefile patched from 0.5.3
+
+* Wed Aug 28 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.5.3-5
+- File permissions settings included
+
+* Wed Aug 28 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.5.3-4
+- Credits in changelog modified as per reference's request
+
+* Tue Aug 27 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.5.3-3
+- Dependencies listed as rpm packages instead of tars
+- Install section added
+
+* Mon Aug 26 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.5.3-2
+- Github packaging
+- Deps not downloaded at build time courtesy Elan Ruusamäe
+- Manpage and other docs installed
+
+* Fri Aug 23 2013 Lokesh Mandvekar <lsm5(a)redhat.com> 0.5.3-1
+- Initial fedora package
+- Some credit to Elan Ruusamäe (glen(a)pld-linux.org)
diff --git a/docker.service b/docker.service
new file mode 100644
index 0000000..9882939
--- /dev/null
+++ b/docker.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Docker container management daemon
+
+[Service]
+Type=simple
+ExecStartPre=/usr/sbin/sysctl -w net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1
+ExecStart=/usr/bin/docker -d
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/docker.xinetd b/docker.xinetd
new file mode 100644
index 0000000..47a83dc
--- /dev/null
+++ b/docker.xinetd
@@ -0,0 +1,11 @@
+# default: off
+# description: Container management service
+service docker
+{
+ disable = yes
+ socket_type = stream
+ protocol = tcp
+ wait = no
+ server = /usr/bin/docker -d
+ type = UNLISTED
+}