# NOTES
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
-# v1.0.0-rc1-39-gcc29e3d
-%define runc_commit cc29e3d
-# v0.2.0-125-g0ac3cd1
-%define containerd_commit 0ac3cd1
+# v1.0.0-rc2-8-gf59ba3c
+%define runc_commit f59ba3c
+# v0.2.4-8-gb818e74
+%define containerd_commit b818e74
+#define subver -rc2
Summary: Docker: the open-source application container engine
Name: docker
-Version: 1.12.0
-Release: 3
+Version: 1.12.3
+Release: 1
License: Apache v2.0
Group: Applications/System
+# https://github.com/docker/docker/releases
Source0: https://github.com/docker/docker/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 7990440b022e93f3e7036bcfd12970f2
-Source1: https://github.com/opencontainers/runc/archive/%{runc_commit}/runc-%{runc_commit}.tar.gz
-# Source1-md5: 716d0b284ce42490eeb83befba10fafb
+# Source0-md5: 40510f377b781c72847ae6a06fdbb175
+Source1: https://github.com/docker/runc/archive/%{runc_commit}/runc-%{runc_commit}.tar.gz
+# Source1-md5: 9347487a8e855229bf9ca1a928625223
Source2: https://github.com/docker/containerd/archive/%{containerd_commit}/containerd-%{containerd_commit}.tar.gz
-# Source2-md5: f0a0c1101ad259b84fb457c8c7036723
-Source4: %{name}.sh
-Source5: %{name}.service
-Source6: %{name}.socket
+# Source2-md5: f8c2d3bc4573db5f76d7230131cbebb4
+Source4: %{name}d.sh
Source7: %{name}.init
Source8: %{name}.sysconfig
+Patch0: systemd.patch
URL: http://www.docker.com/
BuildRequires: btrfs-progs-devel >= 3.16.1
BuildRequires: device-mapper-devel >= 2.02.89
-BuildRequires: golang >= 1.4
+BuildRequires: golang >= 1.6
BuildRequires: libseccomp-devel >= 2.2.1
-BuildRequires: rpmbuild(macros) >= 1.228
+BuildRequires: rpmbuild(macros) >= 1.644
BuildRequires: sqlite3-devel >= 3.7.9
Requires(post,preun): /sbin/chkconfig
Requires(postun): /usr/sbin/groupdel
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
+Requires: ca-certificates
Requires: iproute2 >= 3.5
Requires: iptables
Requires: rc-scripts >= 0.4.0.10
+Requires: systemd-units >= 38
Requires: tar >= 1:1.26
Requires: uname(release) >= 3.8
Requires: xz
+Suggests: docker-credential-helpers
Suggests: git-core >= 1.7
Suggests: libcgroup
Suggests: xz >= 1:4.9
%prep
%setup -q %{?subver:-n %{name}-%{version}%{subver}} -a1 -a2
-
mv runc-%{runc_commit}* runc
mv containerd-%{containerd_commit}* containerd
+%patch0 -p1
install -d vendor/src/github.com/docker
ln -s $(pwd) vendor/src/github.com/docker/docker
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_mandir}/man1,/etc/{rc.d/init.d,sysconfig},%{systemdunitdir}} \
$RPM_BUILD_ROOT%{_libexecdir} \
- $RPM_BUILD_ROOT/var/lib/docker/{containers,execdriver,graph,image,init,network,tmp,trust,vfs,volumes}
+ $RPM_BUILD_ROOT/var/lib/docker/{containers,execdriver,graph,image,init,network,swarm,tmp,trust,vfs,volumes}
install -p bundles/%{version}%{?subver}/dynbinary-client/docker-%{version}%{?subver} $RPM_BUILD_ROOT%{_bindir}/docker
install -p bundles/%{version}%{?subver}/dynbinary-daemon/docker-proxy-%{version}%{?subver} $RPM_BUILD_ROOT%{_sbindir}/docker-proxy
install -p containerd/bin/containerd-shim $RPM_BUILD_ROOT%{_sbindir}/docker-containerd-shim
install -p containerd/bin/ctr $RPM_BUILD_ROOT%{_sbindir}/docker-containerd-ctr
-cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}
-cp -p %{SOURCE6} $RPM_BUILD_ROOT%{systemdunitdir}
+cp -p contrib/init/systemd/docker.service $RPM_BUILD_ROOT%{systemdunitdir}
+cp -p contrib/init/systemd/docker.socket $RPM_BUILD_ROOT%{systemdunitdir}
install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/docker
-install -p %{SOURCE4} $RPM_BUILD_ROOT%{_libexecdir}/docker
+install -p %{SOURCE4} $RPM_BUILD_ROOT%{_libexecdir}/dockerd
cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/docker
# install udev rules
%post
/sbin/chkconfig --add %{name}
%service -n %{name} restart
+%systemd_post %{name}.service
%preun
if [ "$1" = "0" ]; then
%service -q %{name} stop
/sbin/chkconfig --del %{name}
fi
+%systemd_preun %{name}.service
%postun
if [ "$1" = "0" ]; then
%groupremove docker
fi
+%systemd_reload
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_sbindir}/docker-proxy
%attr(755,root,root) %{_sbindir}/docker-runc
%attr(755,root,root) %{_sbindir}/dockerd
-%attr(755,root,root) %{_libexecdir}/docker
+%attr(755,root,root) %{_libexecdir}/dockerd
%{systemdunitdir}/docker.service
%{systemdunitdir}/docker.socket
/lib/udev/rules.d/80-docker.rules
%dir %attr(700,root,root) /var/lib/docker/image
%dir %attr(700,root,root) /var/lib/docker/init
%dir %attr(700,root,root) /var/lib/docker/network
+%dir %attr(700,root,root) /var/lib/docker/swarm
%dir %attr(700,root,root) /var/lib/docker/tmp
%dir %attr(700,root,root) /var/lib/docker/trust
%dir %attr(700,root,root) /var/lib/docker/vfs