Browse code

add docker 18.06.1-ce

Change-Id: Id900cd9cc25815fab200883d7b9274b2ad42346c
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/6512
Reviewed-by: Anish Swaminathan <anishs@vmware.com>
Tested-by: Anish Swaminathan <anishs@vmware.com>

Bo Gan authored on 2019/01/15 20:19:31
Showing 3 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,292 @@
0
+%global security_hardening nopie
1
+%define debug_package %{nil}
2
+%define __os_install_post %{nil}
3
+Summary:        Docker
4
+Name:           docker
5
+Version:        17.06.0
6
+Release:        8%{?dist}
7
+License:        ASL 2.0
8
+URL:            http://docs.docker.com
9
+Group:          Applications/File
10
+Vendor:         VMware, Inc.
11
+Distribution:   Photon
12
+#Git commits must be in sync with docker/hack/dockerfile/binaries-commits
13
+Source0:        https://github.com/docker/moby/archive/docker-ce-02c1d87.tar.gz
14
+%define sha1 docker-ce=40deab51330b39d16abc23831063a6123ff0a570
15
+Source1:        https://github.com/docker/containerd/tree/containerd-cfb82a8.tar.gz
16
+%define sha1 containerd=2adb56ddd2d89af5c6ab649de93c34d421b62649
17
+Source2:        https://github.com/docker/runc/tree/runc-2d41c04.tar.gz
18
+%define sha1 runc=41cd104b168cef29032c268e0d6de1bad5dadc25
19
+Source3:        https://github.com/docker/libnetwork/tree/libnetwork-7b2b1fe.tar.gz
20
+%define sha1 libnetwork=0afeb8c802998344753fb933f827427da23975f8
21
+#Source4:        https://github.com/docker/cli/tree/cli-3dfb834.tar.gz
22
+#%define sha1 cli=9dd33ca7d8e554fe875138000c6767167228e125
23
+Source4:        https://github.com/krallin/tini/tree/tini-949e6fa.tar.gz
24
+%define sha1 tini=e1a0e72ff74e1486e0701dd52983014777a7d949
25
+Source5:        https://github.com/cpuguy83/go-md2man/tree/go-md2man-a65d4d2.tar.gz
26
+%define sha1 go-md2man=e3d0865c583150f7c76e385a8b4a3f2432ca8ad8
27
+Source6:        default-disable.preset
28
+Patch0:         remove-firewalld.patch
29
+Patch1:         CVE-2017-14992.patch
30
+Patch2:         fix-apparmor-not-being-applied-to-exec-processes.patch
31
+
32
+BuildRequires:  systemd
33
+BuildRequires:  systemd-devel
34
+BuildRequires:  device-mapper-devel
35
+BuildRequires:  btrfs-progs-devel
36
+BuildRequires:  libseccomp
37
+BuildRequires:  libseccomp-devel
38
+BuildRequires:  libltdl-devel
39
+BuildRequires:  libgcc-devel
40
+BuildRequires:  glibc-devel
41
+BuildRequires:  unzip
42
+BuildRequires:  go = 1.9.4
43
+BuildRequires:  sed
44
+BuildRequires:  cmake
45
+BuildRequires:  findutils
46
+BuildRequires:  git
47
+BuildRequires:  libapparmor
48
+BuildRequires:  libapparmor-devel
49
+Requires:       libapparmor
50
+Requires:       libltdl
51
+Requires:       libgcc
52
+Requires:       glibc
53
+Requires:       libseccomp
54
+Requires:       systemd
55
+Requires:       device-mapper-libs
56
+
57
+%description
58
+Docker is a platform for developers and sysadmins to develop, ship and run applications.
59
+
60
+%package        doc
61
+Summary:        Documentation and vimfiles for docker
62
+Requires:       %{name} = %{version}
63
+
64
+%description    doc
65
+Documentation and vimfiles for docker
66
+
67
+%prep
68
+%setup -q -c
69
+%setup -T -D -a 1
70
+%setup -T -D -a 2
71
+%setup -T -D -a 3
72
+%setup -T -D -a 4
73
+%setup -T -D -a 5
74
+
75
+ln -s docker-ce/components/cli cli
76
+ln -s docker-ce/components/engine engine
77
+ln -s docker-ce/components/packaging packaging
78
+
79
+%patch0 -p2
80
+%patch1 -p2
81
+%patch2 -p2
82
+
83
+mkdir -p /go/src/github.com
84
+cd /go/src/github.com
85
+mkdir opencontainers
86
+mkdir containerd
87
+mkdir cpuguy83
88
+mkdir docker
89
+
90
+ln -snrf "$OLDPWD/containerd" containerd/
91
+ln -snrf "$OLDPWD/engine" docker/docker
92
+ln -snrf "$OLDPWD/runc" opencontainers/
93
+ln -snrf "$OLDPWD/go-md2man" cpuguy83/
94
+ln -snrf "$OLDPWD/libnetwork" docker/
95
+ln -snrf "$OLDPWD/cli" docker/
96
+
97
+ln -snrf "$OLDPWD/tini" /go/
98
+
99
+sed -i '/^\s*git clone.*$/d' docker/docker/hack/dockerfile/install-binaries.sh
100
+
101
+#catch git clone
102
+git config --global http.proxy http://localhost:0
103
+
104
+%build
105
+
106
+export GOPATH="/go"
107
+export PATH="$PATH:$GOPATH/bin"
108
+
109
+export DOCKER_BUILDTAGS="pkcs11 seccomp apparmor exclude_graphdriver_aufs"
110
+export RUNC_BUILDTAGS="seccomp apparmor"
111
+
112
+cd /go/src/github.com
113
+
114
+pushd docker/cli
115
+make VERSION="$(cat VERSION)" dynbinary manpages
116
+popd
117
+
118
+pushd docker/docker
119
+TMP_GOPATH="$GOPATH" ./hack/dockerfile/install-binaries.sh runc-dynamic containerd-dynamic proxy-dynamic tini
120
+DOCKER_GITCOMMIT="$(git rev-parse --short HEAD)" ./hack/make.sh dynbinary
121
+popd
122
+
123
+%install
124
+
125
+install -d -m755 %{buildroot}%{_mandir}/man1
126
+install -d -m755 %{buildroot}%{_mandir}/man5
127
+install -d -m755 %{buildroot}%{_mandir}/man8
128
+install -d -m755 %{buildroot}%{_bindir}
129
+install -d -m755 %{buildroot}%{_unitdir}
130
+install -d -m755 %{buildroot}lib/udev/rules.d
131
+install -d -m755 %{buildroot}%{_datadir}/bash-completion/completions
132
+
133
+# install binary
134
+install -p -m 755 cli/build/docker %{buildroot}%{_bindir}/docker
135
+install -p -m 755 "$(readlink -f engine/bundles/latest/dynbinary-daemon/dockerd)" %{buildroot}%{_bindir}/dockerd
136
+
137
+# install proxy
138
+install -p -m 755 /usr/local/bin/docker-proxy %{buildroot}%{_bindir}/docker-proxy
139
+
140
+# install containerd
141
+install -p -m 755 /usr/local/bin/docker-containerd %{buildroot}%{_bindir}/docker-containerd
142
+install -p -m 755 /usr/local/bin/docker-containerd-shim %{buildroot}%{_bindir}/docker-containerd-shim
143
+install -p -m 755 /usr/local/bin/docker-containerd-ctr %{buildroot}%{_bindir}/docker-containerd-ctr
144
+
145
+# install runc
146
+install -p -m 755 /usr/local/bin/docker-runc %{buildroot}%{_bindir}/docker-runc
147
+
148
+# install tini
149
+install -p -m 755 /usr/local/bin/docker-init %{buildroot}%{_bindir}/docker-init
150
+
151
+# install udev rules
152
+install -p -m 644 engine/contrib/udev/80-docker.rules %{buildroot}lib/udev/rules.d/80-docker.rules
153
+
154
+# add init scripts
155
+install -p -m 644 packaging/rpm/systemd/docker.service %{buildroot}%{_unitdir}/docker.service
156
+
157
+# add bash, zsh, and fish completions
158
+install -p -m 644 engine/contrib/completion/bash/docker %{buildroot}%{_datadir}/bash-completion/completions/docker
159
+
160
+# install manpages
161
+install -p -m 644 cli/man/man1/*.1 %{buildroot}%{_mandir}/man1
162
+install -p -m 644 cli/man/man5/*.5 %{buildroot}%{_mandir}/man5
163
+install -p -m 644 cli/man/man8/*.8 %{buildroot}%{_mandir}/man8
164
+
165
+# add vimfiles
166
+install -d -m 755 %{buildroot}%{_datadir}/vim/vimfiles/doc
167
+install -d -m 755 %{buildroot}%{_datadir}/vim/vimfiles/ftdetect
168
+install -d -m 755 %{buildroot}%{_datadir}/vim/vimfiles/syntax
169
+install -p -m 644 engine/contrib/syntax/vim/doc/dockerfile.txt %{buildroot}%{_datadir}/vim/vimfiles/doc/dockerfile.txt
170
+install -p -m 644 engine/contrib/syntax/vim/ftdetect/dockerfile.vim %{buildroot}%{_datadir}/vim/vimfiles/ftdetect/dockerfile.vim
171
+install -p -m 644 engine/contrib/syntax/vim/syntax/dockerfile.vim %{buildroot}%{_datadir}/vim/vimfiles/syntax/dockerfile.vim
172
+
173
+mkdir -p build-docs
174
+for engine_file in AUTHORS CHANGELOG.md CONTRIBUTING.md LICENSE MAINTAINERS NOTICE README.md; do
175
+    cp "engine/$engine_file" "build-docs/engine-$engine_file"
176
+done
177
+for cli_file in LICENSE MAINTAINERS NOTICE README.md; do
178
+    cp "cli/$cli_file" "build-docs/cli-$cli_file"
179
+done
180
+
181
+install -v -D -m 0644 %{SOURCE6} %{buildroot}%{_presetdir}/50-docker.preset
182
+
183
+%preun
184
+%systemd_preun docker.service
185
+
186
+%post
187
+if [ $1 -eq 1 ] ; then
188
+    getent group docker >/dev/null || groupadd -r docker
189
+fi
190
+%systemd_post docker.service
191
+
192
+%postun
193
+%systemd_postun_with_restart docker.service
194
+
195
+if [ $1 -eq 0 ] ; then
196
+    getent group docker >/dev/null && groupdel docker
197
+fi
198
+
199
+%clean
200
+rm -rf %{buildroot}/*
201
+
202
+%files
203
+%defattr(-,root,root)
204
+%{_unitdir}/docker.service
205
+%{_presetdir}/50-docker.preset
206
+%{_bindir}/docker
207
+%{_bindir}/dockerd
208
+%{_bindir}/docker-containerd
209
+%{_bindir}/docker-containerd-ctr
210
+%{_bindir}/docker-containerd-shim
211
+%{_bindir}/docker-proxy
212
+%{_bindir}/docker-runc
213
+%{_bindir}/docker-init
214
+%{_datadir}/bash-completion/completions/docker
215
+
216
+%files doc
217
+%defattr(-,root,root)
218
+%doc build-docs/engine-AUTHORS build-docs/engine-CHANGELOG.md build-docs/engine-CONTRIBUTING.md build-docs/engine-LICENSE build-docs/engine-MAINTAINERS build-docs/engine-NOTICE build-docs/engine-README.md
219
+%doc build-docs/cli-LICENSE build-docs/cli-MAINTAINERS build-docs/cli-NOTICE build-docs/cli-README.md
220
+%doc
221
+%{_mandir}/man1/*
222
+%{_mandir}/man5/*
223
+%{_mandir}/man8/*
224
+%{_datadir}/vim/vimfiles/doc/dockerfile.txt
225
+%{_datadir}/vim/vimfiles/ftdetect/dockerfile.vim
226
+%{_datadir}/vim/vimfiles/syntax/dockerfile.vim
227
+
228
+%changelog
229
+*   Wed Sep 19 2018 Bo Gan <ganb@vmware.com> 17.06.0-8
230
+-   Use go 1.9.4 rather than latest go toolchain
231
+*   Thu Sep 06 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 17.06.0-7
232
+-   Fix AppArmor not being applied to exec processes.
233
+*   Wed Aug 08 2018 Dweep Advani <dadvani@vmware.com> 17.06.0-6
234
+-   Patching for CVE-2017-14992
235
+*   Wed Jul 25 2018 Keerthana K <keerthanak@vmware.com> 17.06.0-5
236
+-   Updated BuildTags to include apparmor.
237
+*   Fri Sep 22 2017 Bo Gan <ganb@vmware.com> 17.06.0-4
238
+-   disable docker service by default
239
+*   Fri Sep 08 2017 Bo Gan <ganb@vmware.com> 17.06.0-3
240
+-   Fix post scriptlet to invoke systemd_post
241
+*   Mon Aug 28 2017 Alexey Makhalov <amakhalov@vmware.com> 17.06.0-2
242
+-   Use nopie option to build
243
+*   Tue Jul 18 2017 Bo Gan <ganb@vmware.com> 17.06.0-1
244
+-   Update to 17.06.0-ce
245
+*   Thu May 04 2017 Kumar Kaushik <kaushikk@vmware.com> 1.13.1-4
246
+-   Adding build requires GO.
247
+*   Wed May 03 2017 Kumar Kaushik <kaushikk@vmware.com> 1.13.1-3
248
+-   Fixing docker plugin runc version github issue # 640.
249
+*   Mon Apr 24 2017 Kumar Kaushik <kaushikk@vmware.com> 1.13.1-2
250
+-   Adding docker group for non-sudo users, GitHub issue # 207.
251
+*   Tue Apr 11 2017 Kumar Kaushik <kaushikk@vmware.com> 1.13.1-1
252
+-   Building docker from source.
253
+*   Fri Jan 13 2017 Xiaolin Li <xiaolinl@vmware.com> 1.12.6-1
254
+-   Upgraded to version 1.12.6
255
+*   Wed Sep 21 2016 Xiaolin Li <xiaolinl@vmware.com> 1.12.1-1
256
+-   Upgraded to version 1.12.1
257
+*   Mon Aug 22 2016 Alexey Makhalov <amakhalov@vmware.com> 1.12.0-2
258
+-   Added bash completion file
259
+*   Tue Aug 09 2016 Anish Swaminathan <anishs@vmware.com> 1.12.0-1
260
+-   Upgraded to version 1.12.0
261
+*   Tue Jun 28 2016 Anish Swaminathan <anishs@vmware.com> 1.11.2-1
262
+-   Upgraded to version 1.11.2
263
+*   Thu May 26 2016 Divya Thaluru <dthaluru@vmware.com>  1.11.0-6
264
+-   Fixed logic to restart the active services after upgrade 
265
+*   Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.11.0-5
266
+-   GA - Bump release of all rpms
267
+*   Tue May 10 2016 Anish Swaminathan <anishs@vmware.com> 1.11.0-4
268
+-   Remove commented post actions
269
+*   Tue May 3 2016 Divya Thaluru <dthaluru@vmware.com>  1.11.0-3
270
+-   Fixing spec file to handle rpm upgrade scenario correctly
271
+*   Sat Apr 30 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.11.0-2
272
+-   Add $DOCKER_OPTS to start in docker.service
273
+*   Fri Apr 15 2016 Anish Swaminathan <anishs@vmware.com> 1.11.0-1
274
+-   Updated to version 1.11.0.
275
+*   Tue Feb 23 2016 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.10.2-1
276
+-   Upgraded to version 1.10.2
277
+*   Thu Dec 10 2015 Xiaolin Li <xiaolinl@vmware.com>  1.9.0-2
278
+-   Add systemd to Requires and BuildRequires.
279
+-   Use systemctl to enable/disable service.
280
+*   Fri Nov 06 2015 Vinay Kulkarni <kulkarniv@vmware.com> 1.9.0-1
281
+-   Update to version 1.9.0
282
+*   Mon Aug 17 2015 Divya Thaluru <dthaluru@vmware.com> 1.8.1-1
283
+-   Update to new version 1.8.1.
284
+*   Fri Jun 19 2015 Fabio Rapposelli <fabio@vmware.com> 1.7.0-1
285
+-   Update to new version.
286
+*   Mon May 18 2015 Touseef Liaqat <tliaqat@vmware.com> 1.6.0-3
287
+-   Update according to UsrMove.
288
+*   Fri May 15 2015 Divya Thaluru <dthaluru@vmware.com> 1.6.0-2
289
+-   Updated to version 1.6
290
+*   Wed Mar 4 2015 Divya Thaluru <dthaluru@vmware.com> 1.5.0-1
291
+-   Initial build. First version
0 292
new file mode 100644
... ...
@@ -0,0 +1,220 @@
0
+%global security_hardening nopie
1
+%define debug_package %{nil}
2
+%define __os_install_post %{nil}
3
+Summary:        Docker
4
+Name:           docker
5
+Version:        18.06.1
6
+Release:        1%{?dist}
7
+License:        ASL 2.0
8
+URL:            http://docs.docker.com
9
+Group:          Applications/File
10
+Vendor:         VMware, Inc.
11
+Distribution:   Photon
12
+Source0:        https://github.com/docker/docker-ce/archive/docker-%{version}-ce.tar.gz
13
+%define sha1 docker=ff91e1f87e81b29eafc9c098110c2537b2752f7c
14
+%define DOCKER_GITCOMMIT e68fc7a215d7133c34aa18e3b72b4a21fd0c6136
15
+Source99:       default-disable.preset
16
+Patch99:        remove-firewalld.patch
17
+
18
+BuildRequires:  systemd
19
+BuildRequires:  systemd-devel
20
+BuildRequires:  device-mapper-devel
21
+BuildRequires:  btrfs-progs-devel
22
+BuildRequires:  libseccomp
23
+BuildRequires:  libseccomp-devel
24
+BuildRequires:  libltdl-devel
25
+BuildRequires:  libgcc-devel
26
+BuildRequires:  glibc-devel
27
+BuildRequires:  unzip
28
+BuildRequires:  go = 1.10.3
29
+BuildRequires:  sed
30
+BuildRequires:  cmake
31
+BuildRequires:  findutils
32
+BuildRequires:  git
33
+BuildRequires:  libapparmor
34
+BuildRequires:  libapparmor-devel
35
+Requires:       libapparmor
36
+Requires:       libltdl
37
+Requires:       libgcc
38
+Requires:       glibc
39
+Requires:       libseccomp
40
+Requires:       systemd
41
+Requires:       device-mapper-libs
42
+
43
+%description
44
+Docker is an open source project to build, ship and run any application as a lightweight container.
45
+
46
+%package        doc
47
+Summary:        Documentation and vimfiles for docker
48
+Requires:       %{name} = %{version}
49
+
50
+%description    doc
51
+Documentation and vimfiles for docker
52
+
53
+%prep
54
+%setup -q -c
55
+
56
+%patch99 -p1
57
+
58
+mkdir -p /go/src/github.com
59
+cd /go/src/github.com
60
+mkdir opencontainers
61
+mkdir docker
62
+
63
+ln -snrf "$OLDPWD/components/engine" docker/docker
64
+ln -snrf "$OLDPWD/components/cli" docker/cli
65
+
66
+%build
67
+export GOPATH="/go"
68
+export PATH="$PATH:$GOPATH/bin"
69
+
70
+GIT_COMMIT=%{DOCKER_GITCOMMIT}
71
+GIT_COMMIT_SHORT=${GIT_COMMIT:0:7}
72
+
73
+cd "$GOPATH/src/github.com/docker"
74
+
75
+pushd cli
76
+DISABLE_WARN_OUTSIDE_CONTAINER=1 make VERSION=%{version} GITCOMMIT=${GIT_COMMIT_SHORT} dynbinary manpages
77
+popd
78
+
79
+pushd docker
80
+for component in tini "proxy dynamic" "runc all" "containerd dynamic"; do
81
+  RUNC_BUILDTAGS="seccomp apparmor" \
82
+  hack/dockerfile/install/install.sh $component
83
+done
84
+DOCKER_BUILDTAGS="pkcs11 seccomp apparmor exclude_graphdriver_aufs" \
85
+VERSION=%{version} DOCKER_GITCOMMIT=${GIT_COMMIT_SHORT} PRODUCT=docker hack/make.sh dynbinary
86
+popd
87
+
88
+%install
89
+install -d -m755 %{buildroot}%{_mandir}/man1
90
+install -d -m755 %{buildroot}%{_mandir}/man5
91
+install -d -m755 %{buildroot}%{_mandir}/man8
92
+install -d -m755 %{buildroot}%{_bindir}
93
+install -d -m755 %{buildroot}%{_unitdir}
94
+install -d -m755 %{buildroot}/lib/udev/rules.d
95
+install -d -m755 %{buildroot}%{_datadir}/bash-completion/completions
96
+
97
+# install binary
98
+install -p -m 755 "$(readlink -f components/cli/build/docker)" %{buildroot}%{_bindir}/docker
99
+install -p -m 755 "$(readlink -f components/engine/bundles/latest/dynbinary-daemon/dockerd)" %{buildroot}%{_bindir}/dockerd
100
+
101
+# install proxy
102
+install -p -m 755 /usr/local/bin/docker-proxy %{buildroot}%{_bindir}/docker-proxy
103
+
104
+# install containerd
105
+install -p -m 755 /usr/local/bin/docker-containerd %{buildroot}%{_bindir}/docker-containerd
106
+install -p -m 755 /usr/local/bin/docker-containerd-shim %{buildroot}%{_bindir}/docker-containerd-shim
107
+install -p -m 755 /usr/local/bin/docker-containerd-ctr %{buildroot}%{_bindir}/docker-containerd-ctr
108
+
109
+# install runc
110
+install -p -m 755 /usr/local/bin/docker-runc %{buildroot}%{_bindir}/docker-runc
111
+
112
+# install tini
113
+install -p -m 755 /usr/local/bin/docker-init %{buildroot}%{_bindir}/docker-init
114
+
115
+# install udev rules
116
+install -p -m 644 components/engine/contrib/udev/80-docker.rules %{buildroot}/lib/udev/rules.d/80-docker.rules
117
+
118
+# add init scripts
119
+install -p -m 644 components/packaging/rpm/systemd/docker.service %{buildroot}%{_unitdir}/docker.service
120
+
121
+# add bash completions
122
+install -p -m 644 components/cli/contrib/completion/bash/docker %{buildroot}%{_datadir}/bash-completion/completions/docker
123
+
124
+# install manpages
125
+install -p -m 644 components/cli/man/man1/*.1 %{buildroot}%{_mandir}/man1
126
+install -p -m 644 components/cli/man/man5/*.5 %{buildroot}%{_mandir}/man5
127
+install -p -m 644 components/cli/man/man8/*.8 %{buildroot}%{_mandir}/man8
128
+
129
+# add vimfiles
130
+install -d -m 755 %{buildroot}%{_datadir}/vim/vimfiles/doc
131
+install -d -m 755 %{buildroot}%{_datadir}/vim/vimfiles/ftdetect
132
+install -d -m 755 %{buildroot}%{_datadir}/vim/vimfiles/syntax
133
+install -p -m 644 components/engine/contrib/syntax/vim/doc/dockerfile.txt %{buildroot}%{_datadir}/vim/vimfiles/doc/dockerfile.txt
134
+install -p -m 644 components/engine/contrib/syntax/vim/ftdetect/dockerfile.vim %{buildroot}%{_datadir}/vim/vimfiles/ftdetect/dockerfile.vim
135
+install -p -m 644 components/engine/contrib/syntax/vim/syntax/dockerfile.vim %{buildroot}%{_datadir}/vim/vimfiles/syntax/dockerfile.vim
136
+
137
+mkdir -p build-docs
138
+for engine_file in AUTHORS CHANGELOG.md CONTRIBUTING.md LICENSE MAINTAINERS NOTICE README.md; do
139
+    cp "components/engine/$engine_file" "build-docs/engine-$engine_file"
140
+done
141
+for cli_file in LICENSE MAINTAINERS NOTICE README.md; do
142
+    cp "components/cli/$cli_file" "build-docs/cli-$cli_file"
143
+done
144
+
145
+install -v -D -m 0644 %{SOURCE99} %{buildroot}%{_presetdir}/50-docker.preset
146
+
147
+%pre
148
+if [ $1 -gt 0 ] ; then
149
+    # package upgrade scenario, before new files are installed
150
+
151
+    # clear any old state
152
+    rm -f %{_localstatedir}/lib/rpm-state/docker-is-active > /dev/null 2>&1 || :
153
+
154
+    # check if docker service is running
155
+    if systemctl is-active docker.service > /dev/null 2>&1; then
156
+        systemctl stop docker > /dev/null 2>&1 || :
157
+        touch %{_localstatedir}/lib/rpm-state/docker-is-active > /dev/null 2>&1 || :
158
+    fi
159
+fi
160
+
161
+%preun
162
+%systemd_preun docker.service
163
+
164
+%post
165
+if [ $1 -eq 1 ] ; then
166
+    getent group docker >/dev/null || groupadd -r docker
167
+fi
168
+%systemd_post docker.service
169
+
170
+%postun
171
+%systemd_postun_with_restart docker.service
172
+if [ $1 -eq 0 ] ; then
173
+    getent group docker >/dev/null && groupdel docker || :
174
+fi
175
+
176
+%posttrans
177
+if [ $1 -ge 0 ] ; then
178
+    # package upgrade scenario, after new files are installed
179
+
180
+    # check if docker was running before upgrade
181
+    if [ -f %{_localstatedir}/lib/rpm-state/docker-is-active ]; then
182
+        systemctl start docker > /dev/null 2>&1 || :
183
+        rm -f %{_localstatedir}/lib/rpm-state/docker-is-active > /dev/null 2>&1 || :
184
+    fi
185
+fi
186
+
187
+%clean
188
+rm -rf %{buildroot}/*
189
+
190
+%files
191
+%defattr(-,root,root)
192
+%{_unitdir}/docker.service
193
+%{_presetdir}/50-docker.preset
194
+%{_bindir}/docker
195
+%{_bindir}/dockerd
196
+%{_bindir}/docker-containerd
197
+%{_bindir}/docker-containerd-ctr
198
+%{_bindir}/docker-containerd-shim
199
+%{_bindir}/docker-proxy
200
+%{_bindir}/docker-runc
201
+%{_bindir}/docker-init
202
+%{_datadir}/bash-completion/completions/docker
203
+/lib/udev/rules.d/80-docker.rules
204
+
205
+%files doc
206
+%defattr(-,root,root)
207
+%doc build-docs/engine-AUTHORS build-docs/engine-CHANGELOG.md build-docs/engine-CONTRIBUTING.md build-docs/engine-LICENSE build-docs/engine-MAINTAINERS build-docs/engine-NOTICE build-docs/engine-README.md
208
+%doc build-docs/cli-LICENSE build-docs/cli-MAINTAINERS build-docs/cli-NOTICE build-docs/cli-README.md
209
+%doc
210
+%{_mandir}/man1/*
211
+%{_mandir}/man5/*
212
+%{_mandir}/man8/*
213
+%{_datadir}/vim/vimfiles/doc/dockerfile.txt
214
+%{_datadir}/vim/vimfiles/ftdetect/dockerfile.vim
215
+%{_datadir}/vim/vimfiles/syntax/dockerfile.vim
216
+
217
+%changelog
218
+*   Mon Jan 17 2019 Bo Gan <ganb@vmware.com> 18.06.1-1
219
+-   Update to 18.06.1-ce
0 220
deleted file mode 100644
... ...
@@ -1,292 +0,0 @@
1
-%global security_hardening nopie
2
-%define debug_package %{nil}
3
-%define __os_install_post %{nil}
4
-Summary:        Docker
5
-Name:           docker
6
-Version:        17.06.0
7
-Release:        8%{?dist}
8
-License:        ASL 2.0
9
-URL:            http://docs.docker.com
10
-Group:          Applications/File
11
-Vendor:         VMware, Inc.
12
-Distribution:   Photon
13
-#Git commits must be in sync with docker/hack/dockerfile/binaries-commits
14
-Source0:        https://github.com/docker/moby/archive/docker-ce-02c1d87.tar.gz
15
-%define sha1 docker-ce=40deab51330b39d16abc23831063a6123ff0a570
16
-Source1:        https://github.com/docker/containerd/tree/containerd-cfb82a8.tar.gz
17
-%define sha1 containerd=2adb56ddd2d89af5c6ab649de93c34d421b62649
18
-Source2:        https://github.com/docker/runc/tree/runc-2d41c04.tar.gz
19
-%define sha1 runc=41cd104b168cef29032c268e0d6de1bad5dadc25
20
-Source3:        https://github.com/docker/libnetwork/tree/libnetwork-7b2b1fe.tar.gz
21
-%define sha1 libnetwork=0afeb8c802998344753fb933f827427da23975f8
22
-#Source4:        https://github.com/docker/cli/tree/cli-3dfb834.tar.gz
23
-#%define sha1 cli=9dd33ca7d8e554fe875138000c6767167228e125
24
-Source4:        https://github.com/krallin/tini/tree/tini-949e6fa.tar.gz
25
-%define sha1 tini=e1a0e72ff74e1486e0701dd52983014777a7d949
26
-Source5:        https://github.com/cpuguy83/go-md2man/tree/go-md2man-a65d4d2.tar.gz
27
-%define sha1 go-md2man=e3d0865c583150f7c76e385a8b4a3f2432ca8ad8
28
-Source6:        default-disable.preset
29
-Patch0:         remove-firewalld.patch
30
-Patch1:         CVE-2017-14992.patch
31
-Patch2:         fix-apparmor-not-being-applied-to-exec-processes.patch
32
-
33
-BuildRequires:  systemd
34
-BuildRequires:  systemd-devel
35
-BuildRequires:  device-mapper-devel
36
-BuildRequires:  btrfs-progs-devel
37
-BuildRequires:  libseccomp
38
-BuildRequires:  libseccomp-devel
39
-BuildRequires:  libltdl-devel
40
-BuildRequires:  libgcc-devel
41
-BuildRequires:  glibc-devel
42
-BuildRequires:  unzip
43
-BuildRequires:  go = 1.9.4
44
-BuildRequires:  sed
45
-BuildRequires:  cmake
46
-BuildRequires:  findutils
47
-BuildRequires:  git
48
-BuildRequires:  libapparmor
49
-BuildRequires:  libapparmor-devel
50
-Requires:       libapparmor
51
-Requires:       libltdl
52
-Requires:       libgcc
53
-Requires:       glibc
54
-Requires:       libseccomp
55
-Requires:       systemd
56
-Requires:       device-mapper-libs
57
-
58
-%description
59
-Docker is a platform for developers and sysadmins to develop, ship and run applications.
60
-
61
-%package        doc
62
-Summary:        Documentation and vimfiles for docker
63
-Requires:       %{name} = %{version}
64
-
65
-%description    doc
66
-Documentation and vimfiles for docker
67
-
68
-%prep
69
-%setup -q -c
70
-%setup -T -D -a 1
71
-%setup -T -D -a 2
72
-%setup -T -D -a 3
73
-%setup -T -D -a 4
74
-%setup -T -D -a 5
75
-
76
-ln -s docker-ce/components/cli cli
77
-ln -s docker-ce/components/engine engine
78
-ln -s docker-ce/components/packaging packaging
79
-
80
-%patch0 -p2
81
-%patch1 -p2
82
-%patch2 -p2
83
-
84
-mkdir -p /go/src/github.com
85
-cd /go/src/github.com
86
-mkdir opencontainers
87
-mkdir containerd
88
-mkdir cpuguy83
89
-mkdir docker
90
-
91
-ln -snrf "$OLDPWD/containerd" containerd/
92
-ln -snrf "$OLDPWD/engine" docker/docker
93
-ln -snrf "$OLDPWD/runc" opencontainers/
94
-ln -snrf "$OLDPWD/go-md2man" cpuguy83/
95
-ln -snrf "$OLDPWD/libnetwork" docker/
96
-ln -snrf "$OLDPWD/cli" docker/
97
-
98
-ln -snrf "$OLDPWD/tini" /go/
99
-
100
-sed -i '/^\s*git clone.*$/d' docker/docker/hack/dockerfile/install-binaries.sh
101
-
102
-#catch git clone
103
-git config --global http.proxy http://localhost:0
104
-
105
-%build
106
-
107
-export GOPATH="/go"
108
-export PATH="$PATH:$GOPATH/bin"
109
-
110
-export DOCKER_BUILDTAGS="pkcs11 seccomp apparmor exclude_graphdriver_aufs"
111
-export RUNC_BUILDTAGS="seccomp apparmor"
112
-
113
-cd /go/src/github.com
114
-
115
-pushd docker/cli
116
-make VERSION="$(cat VERSION)" dynbinary manpages
117
-popd
118
-
119
-pushd docker/docker
120
-TMP_GOPATH="$GOPATH" ./hack/dockerfile/install-binaries.sh runc-dynamic containerd-dynamic proxy-dynamic tini
121
-DOCKER_GITCOMMIT="$(git rev-parse --short HEAD)" ./hack/make.sh dynbinary
122
-popd
123
-
124
-%install
125
-
126
-install -d -m755 %{buildroot}%{_mandir}/man1
127
-install -d -m755 %{buildroot}%{_mandir}/man5
128
-install -d -m755 %{buildroot}%{_mandir}/man8
129
-install -d -m755 %{buildroot}%{_bindir}
130
-install -d -m755 %{buildroot}%{_unitdir}
131
-install -d -m755 %{buildroot}lib/udev/rules.d
132
-install -d -m755 %{buildroot}%{_datadir}/bash-completion/completions
133
-
134
-# install binary
135
-install -p -m 755 cli/build/docker %{buildroot}%{_bindir}/docker
136
-install -p -m 755 "$(readlink -f engine/bundles/latest/dynbinary-daemon/dockerd)" %{buildroot}%{_bindir}/dockerd
137
-
138
-# install proxy
139
-install -p -m 755 /usr/local/bin/docker-proxy %{buildroot}%{_bindir}/docker-proxy
140
-
141
-# install containerd
142
-install -p -m 755 /usr/local/bin/docker-containerd %{buildroot}%{_bindir}/docker-containerd
143
-install -p -m 755 /usr/local/bin/docker-containerd-shim %{buildroot}%{_bindir}/docker-containerd-shim
144
-install -p -m 755 /usr/local/bin/docker-containerd-ctr %{buildroot}%{_bindir}/docker-containerd-ctr
145
-
146
-# install runc
147
-install -p -m 755 /usr/local/bin/docker-runc %{buildroot}%{_bindir}/docker-runc
148
-
149
-# install tini
150
-install -p -m 755 /usr/local/bin/docker-init %{buildroot}%{_bindir}/docker-init
151
-
152
-# install udev rules
153
-install -p -m 644 engine/contrib/udev/80-docker.rules %{buildroot}lib/udev/rules.d/80-docker.rules
154
-
155
-# add init scripts
156
-install -p -m 644 packaging/rpm/systemd/docker.service %{buildroot}%{_unitdir}/docker.service
157
-
158
-# add bash, zsh, and fish completions
159
-install -p -m 644 engine/contrib/completion/bash/docker %{buildroot}%{_datadir}/bash-completion/completions/docker
160
-
161
-# install manpages
162
-install -p -m 644 cli/man/man1/*.1 %{buildroot}%{_mandir}/man1
163
-install -p -m 644 cli/man/man5/*.5 %{buildroot}%{_mandir}/man5
164
-install -p -m 644 cli/man/man8/*.8 %{buildroot}%{_mandir}/man8
165
-
166
-# add vimfiles
167
-install -d -m 755 %{buildroot}%{_datadir}/vim/vimfiles/doc
168
-install -d -m 755 %{buildroot}%{_datadir}/vim/vimfiles/ftdetect
169
-install -d -m 755 %{buildroot}%{_datadir}/vim/vimfiles/syntax
170
-install -p -m 644 engine/contrib/syntax/vim/doc/dockerfile.txt %{buildroot}%{_datadir}/vim/vimfiles/doc/dockerfile.txt
171
-install -p -m 644 engine/contrib/syntax/vim/ftdetect/dockerfile.vim %{buildroot}%{_datadir}/vim/vimfiles/ftdetect/dockerfile.vim
172
-install -p -m 644 engine/contrib/syntax/vim/syntax/dockerfile.vim %{buildroot}%{_datadir}/vim/vimfiles/syntax/dockerfile.vim
173
-
174
-mkdir -p build-docs
175
-for engine_file in AUTHORS CHANGELOG.md CONTRIBUTING.md LICENSE MAINTAINERS NOTICE README.md; do
176
-    cp "engine/$engine_file" "build-docs/engine-$engine_file"
177
-done
178
-for cli_file in LICENSE MAINTAINERS NOTICE README.md; do
179
-    cp "cli/$cli_file" "build-docs/cli-$cli_file"
180
-done
181
-
182
-install -v -D -m 0644 %{SOURCE6} %{buildroot}%{_presetdir}/50-docker.preset
183
-
184
-%preun
185
-%systemd_preun docker.service
186
-
187
-%post
188
-if [ $1 -eq 1 ] ; then
189
-    getent group docker >/dev/null || groupadd -r docker
190
-fi
191
-%systemd_post docker.service
192
-
193
-%postun
194
-%systemd_postun_with_restart docker.service
195
-
196
-if [ $1 -eq 0 ] ; then
197
-    getent group docker >/dev/null && groupdel docker
198
-fi
199
-
200
-%clean
201
-rm -rf %{buildroot}/*
202
-
203
-%files
204
-%defattr(-,root,root)
205
-%{_unitdir}/docker.service
206
-%{_presetdir}/50-docker.preset
207
-%{_bindir}/docker
208
-%{_bindir}/dockerd
209
-%{_bindir}/docker-containerd
210
-%{_bindir}/docker-containerd-ctr
211
-%{_bindir}/docker-containerd-shim
212
-%{_bindir}/docker-proxy
213
-%{_bindir}/docker-runc
214
-%{_bindir}/docker-init
215
-%{_datadir}/bash-completion/completions/docker
216
-
217
-%files doc
218
-%defattr(-,root,root)
219
-%doc build-docs/engine-AUTHORS build-docs/engine-CHANGELOG.md build-docs/engine-CONTRIBUTING.md build-docs/engine-LICENSE build-docs/engine-MAINTAINERS build-docs/engine-NOTICE build-docs/engine-README.md
220
-%doc build-docs/cli-LICENSE build-docs/cli-MAINTAINERS build-docs/cli-NOTICE build-docs/cli-README.md
221
-%doc
222
-%{_mandir}/man1/*
223
-%{_mandir}/man5/*
224
-%{_mandir}/man8/*
225
-%{_datadir}/vim/vimfiles/doc/dockerfile.txt
226
-%{_datadir}/vim/vimfiles/ftdetect/dockerfile.vim
227
-%{_datadir}/vim/vimfiles/syntax/dockerfile.vim
228
-
229
-%changelog
230
-*   Wed Sep 19 2018 Bo Gan <ganb@vmware.com> 17.06.0-8
231
--   Use go 1.9.4 rather than latest go toolchain
232
-*   Thu Sep 06 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 17.06.0-7
233
--   Fix AppArmor not being applied to exec processes.
234
-*   Wed Aug 08 2018 Dweep Advani <dadvani@vmware.com> 17.06.0-6
235
--   Patching for CVE-2017-14992
236
-*   Wed Jul 25 2018 Keerthana K <keerthanak@vmware.com> 17.06.0-5
237
--   Updated BuildTags to include apparmor.
238
-*   Fri Sep 22 2017 Bo Gan <ganb@vmware.com> 17.06.0-4
239
--   disable docker service by default
240
-*   Fri Sep 08 2017 Bo Gan <ganb@vmware.com> 17.06.0-3
241
--   Fix post scriptlet to invoke systemd_post
242
-*   Mon Aug 28 2017 Alexey Makhalov <amakhalov@vmware.com> 17.06.0-2
243
--   Use nopie option to build
244
-*   Tue Jul 18 2017 Bo Gan <ganb@vmware.com> 17.06.0-1
245
--   Update to 17.06.0-ce
246
-*   Thu May 04 2017 Kumar Kaushik <kaushikk@vmware.com> 1.13.1-4
247
--   Adding build requires GO.
248
-*   Wed May 03 2017 Kumar Kaushik <kaushikk@vmware.com> 1.13.1-3
249
--   Fixing docker plugin runc version github issue # 640.
250
-*   Mon Apr 24 2017 Kumar Kaushik <kaushikk@vmware.com> 1.13.1-2
251
--   Adding docker group for non-sudo users, GitHub issue # 207.
252
-*   Tue Apr 11 2017 Kumar Kaushik <kaushikk@vmware.com> 1.13.1-1
253
--   Building docker from source.
254
-*   Fri Jan 13 2017 Xiaolin Li <xiaolinl@vmware.com> 1.12.6-1
255
--   Upgraded to version 1.12.6
256
-*   Wed Sep 21 2016 Xiaolin Li <xiaolinl@vmware.com> 1.12.1-1
257
--   Upgraded to version 1.12.1
258
-*   Mon Aug 22 2016 Alexey Makhalov <amakhalov@vmware.com> 1.12.0-2
259
--   Added bash completion file
260
-*   Tue Aug 09 2016 Anish Swaminathan <anishs@vmware.com> 1.12.0-1
261
--   Upgraded to version 1.12.0
262
-*   Tue Jun 28 2016 Anish Swaminathan <anishs@vmware.com> 1.11.2-1
263
--   Upgraded to version 1.11.2
264
-*   Thu May 26 2016 Divya Thaluru <dthaluru@vmware.com>  1.11.0-6
265
--   Fixed logic to restart the active services after upgrade 
266
-*   Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.11.0-5
267
--   GA - Bump release of all rpms
268
-*   Tue May 10 2016 Anish Swaminathan <anishs@vmware.com> 1.11.0-4
269
--   Remove commented post actions
270
-*   Tue May 3 2016 Divya Thaluru <dthaluru@vmware.com>  1.11.0-3
271
--   Fixing spec file to handle rpm upgrade scenario correctly
272
-*   Sat Apr 30 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.11.0-2
273
--   Add $DOCKER_OPTS to start in docker.service
274
-*   Fri Apr 15 2016 Anish Swaminathan <anishs@vmware.com> 1.11.0-1
275
--   Updated to version 1.11.0.
276
-*   Tue Feb 23 2016 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.10.2-1
277
--   Upgraded to version 1.10.2
278
-*   Thu Dec 10 2015 Xiaolin Li <xiaolinl@vmware.com>  1.9.0-2
279
--   Add systemd to Requires and BuildRequires.
280
--   Use systemctl to enable/disable service.
281
-*   Fri Nov 06 2015 Vinay Kulkarni <kulkarniv@vmware.com> 1.9.0-1
282
--   Update to version 1.9.0
283
-*   Mon Aug 17 2015 Divya Thaluru <dthaluru@vmware.com> 1.8.1-1
284
--   Update to new version 1.8.1.
285
-*   Fri Jun 19 2015 Fabio Rapposelli <fabio@vmware.com> 1.7.0-1
286
--   Update to new version.
287
-*   Mon May 18 2015 Touseef Liaqat <tliaqat@vmware.com> 1.6.0-3
288
--   Update according to UsrMove.
289
-*   Fri May 15 2015 Divya Thaluru <dthaluru@vmware.com> 1.6.0-2
290
--   Updated to version 1.6
291
-*   Wed Mar 4 2015 Divya Thaluru <dthaluru@vmware.com> 1.5.0-1
292
--   Initial build. First version