[docker-io: 1/14] docker-io 0.7-rc6.17

Lokesh Mandvekar lsm5 at fedoraproject.org
Thu Nov 28 06:43:38 UTC 2013


commit 582ae2cc2b8176d9a5e39d38573a314901fc76dc
Author: Lokesh Mandvekar <lsm5 at redhat.com>
Date:   Thu Nov 21 00:14:27 2013 -0600

    docker-io 0.7-rc6.17
    
    Signed-off-by: Lokesh Mandvekar <lsm5 at 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}.tar.gz
+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 at redhat.com> - 0.7-0.17.rc6
+- removed ExecStartPost lines from docker.service (BZ #1026045)
+
+* Wed Nov 20 2013 Vincent Batts <vbatts at redhat.com> - 0.7-0.16.rc6
+- adding back the none bridge patch
+
+* Wed Nov 20 2013 Vincent Batts <vbatts at 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 at 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 at 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 at redhat.com> - 0.7-0.12.dm
+- dm branch
+- dockerinit -> docker-init
+
+* Tue Oct 22 2013 Lokesh Mandvekar <lsm5 at redhat.com> - 0.7-0.11.rc4
+- passing version information for docker build BZ #1017186
+
+* Sat Oct 19 2013 Lokesh Mandvekar <lsm5 at 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 at redhat.com> - 0.7-0.9.rc3
+- lxc-docker version matches package version
+
+* Fri Oct 18 2013 Lokesh Mandvekar <lsm5 at redhat.com> - 0.7-0.8.rc3
+- double quotes removed from buildrequires as per existing golang rules
+
+* Fri Oct 11 2013 Lokesh Mandvekar <lsm5 at redhat.com> - 0.7-0.7.rc3
+- xinetd file renamed to docker.xinetd for clarity
+
+* Thu Oct 10 2013 Lokesh Mandvekar <lsm5 at redhat.com> - 0.7-0.6.rc3
+- patched for el6 to use sphinx-1.0-build
+
+* Wed Oct 09 2013 Lokesh Mandvekar <lsm5 at redhat.com> - 0.7-0.5.rc3
+- rc3 version bump
+- exclusivearch x86_64
+
+* Wed Oct 09 2013 Lokesh Mandvekar <lsm5 at redhat.com> - 0.7-0.4.rc2
+- debuginfo not Go-ready yet, skipped
+
+* Wed Oct 09 2013 Lokesh Mandvekar <lsm5 at 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 at redhat.com> - 0.7-2.rc2
+- rc branch includes devmapper
+- el6 BZ #1015865 fix included
+
+* Sun Oct 06 2013 Lokesh Mandvekar <lsm5 at redhat.com> - 0.7-1
+- version bump, includes devicemapper
+- epel conditionals included
+- buildrequires sqlite-devel
+
+* Fri Oct 04 2013 Lokesh Mandvekar <lsm5 at 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 at fedoraproject.org> - 0.6.3-3.devicemapper
+- Docker rebuilt with latest kr/pty, first run issue solved
+
+* Fri Sep 27 2013 Marek Goldmann <mgoldman at 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 at redhat.com> 0.6.3-1.devicemapper
+- version bump
+- new version solves docker push issues
+
+* Tue Sep 24 2013 Lokesh Mandvekar <lsm5 at redhat.com> 0.6.2-14.devicemapper
+- package requires lxc
+
+* Tue Sep 24 2013 Lokesh Mandvekar <lsm5 at redhat.com> 0.6.2-13.devicemapper
+- package requires tar
+
+* Tue Sep 24 2013 Lokesh Mandvekar <lsm5 at redhat.com> 0.6.2-12.devicemapper
+- /var/lib/docker installed
+- package also provides lxc-docker
+
+* Mon Sep 23 2013 Lokesh Mandvekar <lsm5 at redhat.com> 0.6.2-11.devicemapper
+- better looking url
+
+* Mon Sep 23 2013 Lokesh Mandvekar <lsm5 at redhat.com> 0.6.2-10.devicemapper
+- release tag changed to denote devicemapper patch
+
+* Mon Sep 23 2013 Lokesh Mandvekar <lsm5 at 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 at fedoraproject.org> 0.6.2-8
+- install bash completion
+- use -v for go build to show progress
+
+* Sun Sep 22 2013 Matthew Miller <mattdm at fedoraproject.org> 0.6.2-7
+- build and install separate docker-init
+
+* Sun Sep 22 2013 Matthew Miller <mattdm at fedoraproject.org> 0.6.2-4
+- update to use new source-only golang lib packages
+
+* Sat Sep 21 2013 Lokesh Mandvekar <lsm5 at 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 at redhat.com> 0.6.2-2
+- patched with alex larsson's devmapper code
+
+* Wed Sep 18 2013 Lokesh Mandvekar <lsm5 at redhat.com> 0.6.2-1
+- Version bump
+
+* Tue Sep 10 2013 Lokesh Mandvekar <lsm5 at redhat.com> 0.6.1-2
+- buildrequires updated
+- package renamed to docker-io
+ 
+* Fri Aug 30 2013 Lokesh Mandvekar <lsm5 at 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 at redhat.com> 0.5.3-5
+- File permissions settings included
+
+* Wed Aug 28 2013 Lokesh Mandvekar <lsm5 at redhat.com> 0.5.3-4
+- Credits in changelog modified as per reference's request
+
+* Tue Aug 27 2013 Lokesh Mandvekar <lsm5 at redhat.com> 0.5.3-3
+- Dependencies listed as rpm packages instead of tars
+- Install section added
+
+* Mon Aug 26 2013 Lokesh Mandvekar <lsm5 at 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 at redhat.com> 0.5.3-1
+- Initial fedora package
+- Some credit to Elan Ruusamäe (glen at 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
+}


More information about the scm-commits mailing list