diff --git a/centos_pkg_dirs b/centos_pkg_dirs index e9a9a48ac..3680cce8d 100644 --- a/centos_pkg_dirs +++ b/centos_pkg_dirs @@ -51,6 +51,7 @@ storage-drivers/python-3parclient storage-drivers/python-lefthandclient storage-drivers/trident-installer security/tboot +docker/docker-ce docker/python-docker kubernetes/containerd kubernetes/kubernetes diff --git a/centos_srpms_centos.lst b/centos_srpms_centos.lst index 23784888f..10275521d 100644 --- a/centos_srpms_centos.lst +++ b/centos_srpms_centos.lst @@ -2,6 +2,7 @@ anaconda-29.19.1.13-1.el8.src.rpm cloud-init-18.5-1.el8.4.src.rpm dhcp-4.3.6-30.el8.src.rpm dnsmasq-2.79-4.el8.src.rpm +docker-ce-19.03.12-3.el7.src.rpm facter-2.4.4-4.el7.src.rpm grub2-2.02-66.el8_0.1.src.rpm grubby-8.40-34.el8.src.rpm diff --git a/docker/docker-ce/centos/build_srpm.data b/docker/docker-ce/centos/build_srpm.data new file mode 100644 index 000000000..69abd61b8 --- /dev/null +++ b/docker/docker-ce/centos/build_srpm.data @@ -0,0 +1 @@ +TIS_PATCH_VER=PKG_GITREVCOUNT diff --git a/docker/docker-ce/centos/meta_patches/0001-Update-package-versioning-for-TIS-format.patch b/docker/docker-ce/centos/meta_patches/0001-Update-package-versioning-for-TIS-format.patch new file mode 100644 index 000000000..19c938f44 --- /dev/null +++ b/docker/docker-ce/centos/meta_patches/0001-Update-package-versioning-for-TIS-format.patch @@ -0,0 +1,35 @@ +From 80945cacab8649615b7579d0c92d4c02232a9229 Mon Sep 17 00:00:00 2001 +From: Yong Fu +Date: Thu, 16 Jul 2020 16:36:09 +0800 +Subject: [PATCH 1/3] Update-package-versioning-for-TIS-format + +Update the package version and set the docker version and commit information + +Signed-off-by: Yong Fu +--- + SPECS/docker-ce.spec | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/SPECS/docker-ce.spec b/SPECS/docker-ce.spec +index 5c82df3..f848122 100644 +--- a/SPECS/docker-ce.spec ++++ b/SPECS/docker-ce.spec +@@ -1,11 +1,13 @@ + %global debug_package %{nil} ++%global _origversion 19.03.12 ++%global _gitcommit 48a66213fe + + # BTRFS is enabled by default, but can be disabled by defining _without_btrfs + %{!?_with_btrfs: %{!?_without_btrfs: %define _with_btrfs 1}} + + Name: docker-ce +-Version: %{_version} +-Release: %{_release}%{?dist} ++Version: 19.03.12 ++Release: 3.el7%{?_tis_dist}.%{tis_patch_ver} + Epoch: 3 + Source0: engine.tgz + Source1: docker.service +-- +2.17.1 + diff --git a/docker/docker-ce/centos/meta_patches/0002-modify-file-path-and-add-dependencies.patch b/docker/docker-ce/centos/meta_patches/0002-modify-file-path-and-add-dependencies.patch new file mode 100644 index 000000000..2884dae24 --- /dev/null +++ b/docker/docker-ce/centos/meta_patches/0002-modify-file-path-and-add-dependencies.patch @@ -0,0 +1,77 @@ +From 5b6acdc3d665d4a03aff59be2f8160bef41c50b8 Mon Sep 17 00:00:00 2001 +From: Yong Fu +Date: Thu, 16 Jul 2020 16:36:29 +0800 +Subject: [PATCH 2/3] modify file path and add dependencies + +No permission to create a folder in the root directory causes the build to fail. +Therefore, the build directory needs to be changed. + +Signed-off-by: Yong Fu +--- + SPECS/docker-ce.spec | 21 ++++-- + 1 files changed, 21 insertions(+), 7 deletions(-) + +diff --git a/SPECS/docker-ce.spec b/SPECS/docker-ce.spec +index f848122..ac1898a 100644 +--- a/SPECS/docker-ce.spec ++++ b/SPECS/docker-ce.spec +@@ -19,6 +19,9 @@ URL: https://www.docker.com + Vendor: Docker + Packager: Docker + ++# STX ++Patch0001: modify-prefix.patch ++ + Requires: docker-ce-cli + Requires: container-selinux >= 2:2.74 + Requires: libseccomp >= 2.3 +@@ -55,6 +58,7 @@ BuildRequires: selinux-policy-devel + BuildRequires: systemd-devel + BuildRequires: tar + BuildRequires: which ++BuildRequires: golang + + # conflicting packages + Conflicts: docker +@@ -81,17 +85,20 @@ depending on a particular stack or provider. + %prep + %setup -q -c -n src -a 0 + ++# Apply STX patches ++%patch0001 -p1 ++ + %build + + export DOCKER_GITCOMMIT=%{_gitcommit} +-mkdir -p /go/src/github.com/docker +-ln -s /root/rpmbuild/BUILD/src/engine /go/src/github.com/docker/docker ++mkdir -p ${HOME}/go/src/github.com/docker ++ln -s %{_builddir}/src/engine ${HOME}/go/src/github.com/docker/docker + +-pushd /root/rpmbuild/BUILD/src/engine ++pushd %{_builddir}/src/engine + for component in tini "proxy dynamic";do +- TMP_GOPATH="/go" hack/dockerfile/install/install.sh $component ++ TMP_GOPATH="${HOME}/go" hack/dockerfile/install/install.sh $component + done +-VERSION=%{_origversion} PRODUCT=docker hack/make.sh dynbinary ++VERSION=%{_origversion} PRODUCT=docker AUTO_GOPATH=1 hack/make.sh dynbinary + popd + + %check +@@ -102,10 +109,10 @@ engine/bundles/dynbinary-daemon/dockerd -v + install -D -p -m 0755 $(readlink -f engine/bundles/dynbinary-daemon/dockerd) $RPM_BUILD_ROOT/%{_bindir}/dockerd + + # install proxy +-install -D -p -m 0755 /usr/local/bin/docker-proxy $RPM_BUILD_ROOT/%{_bindir}/docker-proxy ++install -D -p -m 0755 /tmp/docker-proxy $RPM_BUILD_ROOT/%{_bindir}/docker-proxy + + # install tini +-install -D -p -m 755 /usr/local/bin/docker-init $RPM_BUILD_ROOT/%{_bindir}/docker-init ++install -D -p -m 755 /tmp/docker-init $RPM_BUILD_ROOT/%{_bindir}/docker-init + + # install systemd scripts + install -D -m 0644 %{_topdir}/SOURCES/docker.service $RPM_BUILD_ROOT/%{_unitdir}/docker.service +-- +2.17.1 + diff --git a/docker/docker-ce/centos/meta_patches/0003-fix-docker-ce-installation-error.patch b/docker/docker-ce/centos/meta_patches/0003-fix-docker-ce-installation-error.patch new file mode 100644 index 000000000..23f695228 --- /dev/null +++ b/docker/docker-ce/centos/meta_patches/0003-fix-docker-ce-installation-error.patch @@ -0,0 +1,30 @@ +From bd3514de09a67df86e81f3ec8667ab05ebc51669 Mon Sep 17 00:00:00 2001 +From: Yong Fu +Date: Thu, 16 Jul 2020 16:36:56 +0800 +Subject: [PATCH 3/3] fix-docker-ce-installation-error + +When installing centos8 iSO, docker-ce will abort installation process. +msg: "Error in POSTIN scriptlet in rpm package docker-ce-cli" +Irrespective of the earlier error while adding docker group it actually adds the group. +The error should be ignored + +Signed-off-by: Yong Fu +--- + SPECS/docker-ce.spec | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/SPECS/docker-ce.spec b/SPECS/docker-ce.spec +index ac1898a..50042c7 100644 +--- a/SPECS/docker-ce.spec ++++ b/SPECS/docker-ce.spec +@@ -130,6 +130,7 @@ install -D -m 0644 %{_topdir}/SOURCES/docker.socket $RPM_BUILD_ROOT/%{_unitdir}/ + if ! getent group docker > /dev/null; then + groupadd --system docker + fi ++exit 0 + + %preun + %systemd_preun docker.service +-- +2.17.1 + diff --git a/docker/docker-ce/centos/meta_patches/PATCH_ORDER b/docker/docker-ce/centos/meta_patches/PATCH_ORDER new file mode 100644 index 000000000..6f0ddaa02 --- /dev/null +++ b/docker/docker-ce/centos/meta_patches/PATCH_ORDER @@ -0,0 +1,3 @@ +0001-Update-package-versioning-for-TIS-format.patch +0002-modify-file-path-and-add-dependencies.patch +0003-fix-docker-ce-installation-error.patch diff --git a/docker/docker-ce/centos/patches/modify-prefix.patch b/docker/docker-ce/centos/patches/modify-prefix.patch new file mode 100644 index 000000000..5a4210b90 --- /dev/null +++ b/docker/docker-ce/centos/patches/modify-prefix.patch @@ -0,0 +1,26 @@ +From 60b9f29e518ce7adeaaf63cbec6b6d6bcbe0d4a0 Mon Sep 17 00:00:00 2001 +From: Dongqi Chen +Date: Thu, 2 Jul 2020 17:37:40 +0800 +Subject: [PATCH] modify-prefix + +Signed-off-by: Yong Fu +--- + hack/dockerfile/install/install.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/engine/hack/dockerfile/install/install.sh b/engine/hack/dockerfile/install/install.sh +index 5e4a396..1f967bf 100755 +--- a/engine/hack/dockerfile/install/install.sh ++++ b/engine/hack/dockerfile/install/install.sh +@@ -7,7 +7,7 @@ RM_GOPATH=0 + + TMP_GOPATH=${TMP_GOPATH:-""} + +-: ${PREFIX:="/usr/local/bin"} ++: ${PREFIX:="/tmp"} + + if [ -z "$TMP_GOPATH" ]; then + export GOPATH="$(mktemp -d)" +-- +2.7.4 + diff --git a/docker/docker-ce/centos/srpm_path b/docker/docker-ce/centos/srpm_path new file mode 100644 index 000000000..d23fa45ac --- /dev/null +++ b/docker/docker-ce/centos/srpm_path @@ -0,0 +1 @@ +mirror:Source/docker-ce-19.03.12-3.el7.src.rpm