Browse code

fix docker

Change-Id: I08ddd516337fc1b654ee52c3e26eee7a7003755d
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/3195
Reviewed-by: Kumar Kaushik <kaushikk@vmware.com>
Tested-by: gerrit-photon <photon-checkins@vmware.com>

Bo Gan authored on 2017/07/10 19:10:18
Showing 1 changed files
... ...
@@ -1,20 +1,27 @@
1
+%define debug_package %{nil}
2
+%define __os_install_post %{nil}
1 3
 Summary:        Docker
2 4
 Name:           docker
3 5
 Version:        1.13.1
4
-Release:        3%{?dist}
6
+Release:        4%{?dist}
5 7
 License:        ASL 2.0
6 8
 URL:            http://docs.docker.com
7 9
 Group:          Applications/File
8 10
 Vendor:         VMware, Inc.
9 11
 Distribution:   Photon
10
-Source0:        https://github.com/docker/docker/archive/%{name}-%{version}.tar.gz
11
-%define sha1 docker=8a39c44c9e665495484fd86fbefdfbc9ab9d815d 
12
-Source1:        https://github.com/docker/containerd/archive/containerd-0.2.5.tar.gz
13
-%define sha1 containerd=aaf6fd1c5176b8575af1d8edf82af3d733528451
14
-Source2:        https://github.com/opencontainers/runc/tree/runc-1.0.0-rc2-9df8b306d01f59d3a8029be411de015b7304dd8f.zip
15
-%define sha1 runc=8f66277f75bafebe564226d8a3107a19d60b3237
16
-Source3:        https://github.com/docker/libnetwork/archive/docker-libnetwork-master-0.8.1.tar.gz
17
-%define sha1 docker-libnetwork-master=231c59f72a17f5e3f33e75e1efa164623e1852d8
12
+#Git commits must be in sync with docker/hack/dockerfile/binaries-commits
13
+Source0:        https://github.com/docker/moby/archive/moby-%{version}.tar.gz
14
+%define sha1 moby=eb67f8c60bd132d8917335ebf92d90020ba52d27
15
+%define DOCKER_COMMIT 092cba3
16
+Source1:        https://github.com/docker/containerd/tree/containerd-aa8187d.tar.gz
17
+%define CONTAINERD_COMMIT aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1
18
+%define sha1 containerd=b8aac40b423e80028ec6b7ff5cca1ccaab617d86
19
+Source2:        https://github.com/docker/runc/tree/runc-9df8b30.tar.gz
20
+%define sha1 runc=35d0c90f634d2327356e7268ff73ecbffdd65d82
21
+%define RUNC_COMMIT 9df8b306d01f59d3a8029be411de015b7304dd8f
22
+Source3:        https://github.com/docker/libnetwork/tree/libnetwork-0f53435.tar.gz
23
+%define sha1 libnetwork=a63774a38bec3aba4b1ff7a0b3e748960da2048b
24
+%define LIBNETWORK_COMMIT 0f534354b813003a754606689722fe253101bc4e
18 25
 Source4:        docker.service
19 26
 Source5:        docker-containerd.service
20 27
 Source6:        docker-completion.bash
... ...
@@ -26,6 +33,8 @@ BuildRequires:  libseccomp
26 26
 BuildRequires:  libseccomp-devel
27 27
 BuildRequires:  unzip
28 28
 BuildRequires:  go
29
+BuildRequires:  findutils
30
+BuildRequires:  sed
29 31
 Requires:       libgcc
30 32
 Requires:       glibc
31 33
 Requires:       libseccomp
... ...
@@ -35,59 +44,84 @@ Requires:       device-mapper-libs
35 35
 %description
36 36
 Docker is a platform for developers and sysadmins to develop, ship and run applications.
37 37
 %prep
38
-%setup -q
38
+%setup -q -c
39 39
 %setup -T -D -a 1
40 40
 %setup -T -D -a 2
41 41
 %setup -T -D -a 3
42 42
 
43
+#Fix containerd git commit/branch
44
+find containerd-%{CONTAINERD_COMMIT} -name Makefile \
45
+  -exec sed -i 's/^GIT_COMMIT :=.*$/GIT_COMMIT := %{CONTAINERD_COMMIT}/g' {} \; \
46
+  -exec sed -i 's/^GIT_BRANCH :=.*$/GIT_BRANCH := %{name}-%{version}/g' {} \;
47
+
48
+#Fix runc git commit/branch
49
+find runc-%{RUNC_COMMIT} -name Makefile \
50
+  -exec sed -i 's/^GIT_COMMIT :=.*$/GIT_COMMIT := %{RUNC_COMMIT}/g' {} \; \
51
+  -exec sed -i 's/^COMMIT :=.*$/COMMIT := %{RUNC_COMMIT}/g' {} \; \
52
+  -exec sed -i 's/^COMMIT_NO :=.*$/COMMIT_NO := %{RUNC_COMMIT}/g' {} \; \
53
+  -exec sed -i 's/^GIT_BRANCH :=.*$/GIT_BRANCH := %{name}-%{version}/g' {} \;
54
+
55
+#Fix docker git commit/branch
56
+find moby-%{version} -name Makefile \
57
+  -exec sed -i 's/^GIT_COMMIT :=.*$/GIT_COMMIT := %{DOCKER_COMMIT}/g' {} \; \
58
+  -exec sed -i 's/^GIT_BRANCH :=.*$/GIT_BRANCH := %{name}-%{version}/g' {} \;
59
+
60
+#Fail if there is still "shell git" invocation
61
+find -name Makefile -exec grep "shell git" {} \; | read && exit 1
62
+
43 63
 %build
44 64
 
45
-export AUTO_GOPATH=1
46
-export DOCKER_BUILDTAGS='exclude_graphdriver_aufs'
47
-export DOCKER_GITCOMMIT="092cba3"
65
+export GOPATH="${PWD}/gopath"
66
+mkdir -p gopath/src/github.com
67
+cd gopath/src/github.com
68
+mkdir -p docker
69
+mkdir -p opencontainers
48 70
 
49
-./hack/make.sh dynbinary
71
+ln -snrf ../../../runc-%{RUNC_COMMIT} opencontainers/runc
72
+ln -snrf ../../../containerd-%{CONTAINERD_COMMIT} docker/containerd
73
+ln -snrf ../../../libnetwork-%{LIBNETWORK_COMMIT} docker/libnetwork
74
+ln -snrf ../../../moby-%{version} docker/docker
50 75
 
51
-mkdir -p /usr/share/gocode/src/github.com/docker/
52
-cd /usr/share/gocode/src/github.com/docker/
53
-mv /usr/src/photon/BUILD/docker-1.13.1/containerd-0.2.5 .
54
-mv containerd-0.2.5 containerd
55
-cd containerd
76
+pushd docker/docker
77
+DOCKER_GITCOMMIT=%{DOCKER_COMMIT} DOCKER_BUILDTAGS='exclude_graphdriver_aufs seccomp' ./hack/make.sh dynbinary
78
+popd
56 79
 
80
+pushd docker/containerd
57 81
 make
82
+popd
58 83
 
59
-mkdir -p /usr/share/gocode/src/github.com/opencontainers/
60
-cd /usr/share/gocode/src/github.com/opencontainers/
61
-mv /usr/src/photon/BUILD/docker-1.13.1/runc-9df8b306d01f59d3a8029be411de015b7304dd8f .
62
-mv runc-9df8b306d01f59d3a8029be411de015b7304dd8f runc
63
-cd runc
84
+pushd opencontainers/runc
64 85
 make BUILDTAGS='seccomp'
86
+popd
65 87
 
66
-cd /usr/share/gocode/src/github.com/docker/
67
-mv /usr/src/photon/BUILD/docker-1.13.1/libnetwork-master/ .
68
-mv libnetwork-master libnetwork
69
-cd libnetwork
88
+pushd docker/libnetwork
70 89
 go build -ldflags="-linkmode=external" -o docker-proxy github.com/docker/libnetwork/cmd/proxy
90
+popd
71 91
 
72 92
 %install
73
-install -vdm755 %{buildroot}/usr/bin
74
-mv -v %{_builddir}/%{name}-%{version}/bundles/latest/dynbinary-client/%{name}-%{version} %{buildroot}/usr/bin/%{name}
75
-mv -v %{_builddir}/%{name}-%{version}/bundles/latest/dynbinary-daemon/%{name}d-%{version} %{buildroot}/usr/bin/%{name}d
76
-mv -v /usr/share/gocode/src/github.com/docker/containerd/bin/containerd %{buildroot}/usr/bin/%{name}-containerd
77
-mv -v /usr/share/gocode/src/github.com/docker/containerd/bin/containerd-shim %{buildroot}/usr/bin/%{name}-containerd-shim
78
-mv -v /usr/share/gocode/src/github.com/docker/containerd/bin/ctr %{buildroot}/usr/bin/%{name}-containerd-ctr
79
-mv -v /usr/share/gocode/src/github.com/opencontainers/runc/runc %{buildroot}/usr/bin/%{name}-runc
80
-mv -v /usr/share/gocode/src/github.com/docker/libnetwork/docker-proxy %{buildroot}/usr/bin/%{name}-proxy
81
-install -vd %{buildroot}/lib/systemd/system
82
-cp %{SOURCE4} %{buildroot}/lib/systemd/system/docker.service
83
-cp %{SOURCE5} %{buildroot}/lib/systemd/system/docker-containerd.service
84
-install -vdm 755 %{buildroot}%{_datadir}/bash-completion/completions
85
-install -m 0644 %{SOURCE6} %{buildroot}%{_datadir}/bash-completion/completions/docker
86
-
87
-%{_fixperms} %{buildroot}/*
88
-
89
-%check
90
-make -k check |& tee %{_specdir}/%{name}-check-log || %{nocheck}
93
+
94
+install -vdm755 %{buildroot}%{_bindir}
95
+install -vdm755 %{buildroot}%{_unitdir}
96
+install -vdm755 %{buildroot}%{_datadir}/bash-completion/completions
97
+
98
+pushd gopath/src/github.com/docker
99
+install -m755 docker/bundles/latest/dynbinary-client/%{name}-%{version} %{buildroot}%{_bindir}/%{name}
100
+install -m755 docker/bundles/latest/dynbinary-daemon/%{name}d-%{version} %{buildroot}%{_bindir}/%{name}d
101
+install -m755 containerd/bin/containerd %{buildroot}%{_bindir}/%{name}-containerd
102
+install -m755 containerd/bin/containerd-shim %{buildroot}%{_bindir}/%{name}-containerd-shim
103
+install -m755 containerd/bin/ctr %{buildroot}%{_bindir}/%{name}-containerd-ctr
104
+install -m755 libnetwork/docker-proxy %{buildroot}%{_bindir}/%{name}-proxy
105
+popd
106
+
107
+pushd gopath/src/github.com/opencontainers
108
+install -m755 runc/runc %{buildroot}%{_bindir}/%{name}-runc
109
+popd
110
+
111
+install -m644 %{SOURCE4} %{buildroot}%{_unitdir}/docker.service
112
+install -m644 %{SOURCE5} %{buildroot}%{_unitdir}/docker-containerd.service
113
+install -m644 %{SOURCE6} %{buildroot}%{_datadir}/bash-completion/completions/docker
114
+
115
+#%{_fixperms} %{buildroot}/*
91 116
 
92 117
 %preun
93 118
 %systemd_preun docker.service
... ...
@@ -116,19 +150,21 @@ rm -rf %{buildroot}/*
116 116
 
117 117
 %files
118 118
 %defattr(-,root,root)
119
-/lib/systemd/system/docker-containerd.service
120
-/lib/systemd/system/docker.service
121
-/usr/bin
122
-/usr/bin/docker
123
-/usr/bin/docker-containerd
124
-/usr/bin/docker-containerd-ctr
125
-/usr/bin/docker-containerd-shim
126
-/usr/bin/docker-proxy
127
-/usr/bin/docker-runc
128
-/usr/bin/dockerd
129
-/usr/share/bash-completion/completions/docker
119
+%{_unitdir}/docker-containerd.service
120
+%{_unitdir}/docker.service
121
+%{_bindir}/docker
122
+%{_bindir}/docker-containerd
123
+%{_bindir}/docker-containerd-ctr
124
+%{_bindir}/docker-containerd-shim
125
+%{_bindir}/docker-proxy
126
+%{_bindir}/docker-runc
127
+%{_bindir}/dockerd
128
+%{_datadir}/bash-completion/completions/docker
130 129
 
131 130
 %changelog
131
+*   Mon Jul 10 2017 Bo Gan <ganb@vmware.com> 1.13.1-4
132
+-   Fix runc/containerd/libnetwork versions
133
+-   Do not strip binaries
132 134
 *   Thu May 04 2017 Kumar Kaushik <kaushikk@vmware.com> 1.13.1-3
133 135
 -   Docker build requires GO.
134 136
 *   Wed May 03 2017 Kumar Kaushik <kaushikk@vmware.com> 1.13.1-2