iSulad/0068-Readme-add-script-to-install-iSulad-on-Centos7.patch

199 lines
5.7 KiB
Diff
Raw Normal View History

From 38b5c74dcce5fc61438ce03252c14c9b5a009d81 Mon Sep 17 00:00:00 2001
From: Li Feng <lifeng2221dd1@zoho.com.cn>
Date: Wed, 7 Apr 2021 11:34:21 +0800
Subject: [PATCH 068/104] Readme: add script to install iSulad on Centos7
Signed-off-by: Li Feng <lifeng2221dd1@zoho.com.cn>
---
docs/build_guide.md | 9 +-
docs/build_guide_zh.md | 8 +-
docs/install_iSulad_on_Centos_7.sh | 137 +++++++++++++++++++++++++++++
3 files changed, 150 insertions(+), 4 deletions(-)
create mode 100644 docs/install_iSulad_on_Centos_7.sh
diff --git a/docs/build_guide.md b/docs/build_guide.md
index d710cbbb..449767ae 100644
--- a/docs/build_guide.md
+++ b/docs/build_guide.md
@@ -7,8 +7,13 @@ If you intend to contribute on iSulad. Thanks for your effort. Every contributio
These dependencies are required for build:
### install basic dependencies based on Centos distribution
-```bash
-$ sudo yum --enablerepo='*' install -y automake autoconf libtool cmake make libcap libcap-devel libselinux libselinux-devel libseccomp libseccomp-devel yajl-devel git libcgroup tar python3 python3-pip device-mapper-devel libarchive libarchive-devel libcurl-devel zlib-devel glibc-headers openssl-devel gcc gcc-c++ systemd-devel systemd-libs golang libtar libtar-devel
+
+We provided a script to auto install iSulad on centos7, you can just execute the script to install iSulad.
+
+```sh
+$ git clone https://gitee.com/openeuler/iSulad.git
+$ cd iSulad/docs
+$ sudo ./install_iSulad_on_Centos_7.sh
```
### install basic dependencies based on Ubuntu distribution
diff --git a/docs/build_guide_zh.md b/docs/build_guide_zh.md
index d6621fcf..2cb709e8 100644
--- a/docs/build_guide_zh.md
+++ b/docs/build_guide_zh.md
@@ -18,8 +18,12 @@ dnf builddep iSulad.spec
### Centos的安装命令
-```bash
-$ sudo yum --enablerepo='*' install -y automake autoconf libtool cmake make libcap libcap-devel libselinux libselinux-devel libseccomp libseccomp-devel yajl-devel git libcgroup tar python3 python3-pip device-mapper-devel libarchive libarchive-devel libcurl-devel zlib-devel glibc-headers openssl-devel gcc gcc-c++ systemd-devel systemd-libs libtar libtar-devel
+我们在代码仓中提供了在Centos7上自动化安装的脚本您只需要执行这个脚本就可以自动编译安装iSulad以及其依赖的组件。
+
+```sh
+$ git clone https://gitee.com/openeuler/iSulad.git
+$ cd iSulad/docs
+$ sudo ./install_iSulad_on_Centos_7.sh
```
### Ubuntu的安装命令
diff --git a/docs/install_iSulad_on_Centos_7.sh b/docs/install_iSulad_on_Centos_7.sh
new file mode 100644
index 00000000..48aff5cf
--- /dev/null
+++ b/docs/install_iSulad_on_Centos_7.sh
@@ -0,0 +1,137 @@
+#/bin/bash
+
+
+set -x
+set -e
+
+# install neccessary packages
+yum install -y patch automake autoconf libtool cmake make libcap libcap-devel libselinux libselinux-devel libseccomp libseccomp-devel yajl-devel git libcgroup tar python3 python3-pip device-mapper-devel libcurl-devel zlib-devel glibc-headers openssl-devel gcc gcc-c++ systemd-devel systemd-libs golang libtar libtar-devel
+
+# export LDFLAGS
+export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
+export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:$LD_LIBRARY_PATH
+ echo "/usr/local/lib" >> /etc/ld.so.conf
+
+BUILD_DIR=/tmp/build_isulad
+
+rm -rf $BUILD_DIR
+mkdir -p $BUILD_DIR
+
+# build libarchive
+cd $BUILD_DIR
+git clone https://gitee.com/src-openeuler/libarchive.git
+cd libarchive
+git checkout -b openEuler-20.03-LTS-tag openEuler-20.03-LTS-tag
+tar -zxvf libarchive-3.4.1.tar.gz
+cd libarchive-3.4.1
+patch -p1 -F1 -s < ../libarchive-uninitialized-value.patch
+cd build
+cmake -DCMAKE_USE_SYSTEM_LIBRARIES=ON ../
+make -j $(nproc)
+make install
+ldconfig
+
+# build protobuf
+cd $BUILD_DIR
+git clone https://gitee.com/src-openeuler/protobuf.git
+cd protobuf
+git checkout openEuler-20.03-LTS-tag
+tar -xzvf protobuf-all-3.9.0.tar.gz
+cd protobuf-3.9.0
+./autogen.sh
+./configure
+make -j $(nproc)
+make install
+ldconfig
+
+# build c-ares
+cd $BUILD_DIR
+git clone https://gitee.com/src-openeuler/c-ares.git
+cd c-ares
+git checkout openEuler-20.03-LTS-tag
+tar -xzvf c-ares-1.15.0.tar.gz
+cd c-ares-1.15.0
+autoreconf -if
+./configure --enable-shared --disable-dependency-tracking
+make -j $(nproc)
+make install
+ldconfig
+
+# build grpc
+cd $BUILD_DIR
+git clone https://gitee.com/src-openeuler/grpc.git
+cd grpc
+git checkout openEuler-20.03-LTS-tag
+tar -xzvf grpc-1.22.0.tar.gz
+cd grpc-1.22.0
+make -j $(nproc)
+make install
+ldconfig
+
+# build http_parser
+cd $BUILD_DIR
+git clone https://gitee.com/src-openeuler/http-parser.git
+cd http-parser
+git checkout openEuler-20.03-LTS-tag
+tar -xzvf http-parser-2.9.2.tar.gz
+cd http-parser-2.9.2
+make -j CFLAGS="-Wno-error"
+make CFLAGS="-Wno-error" install
+ldconfig
+
+# build libwebsockets
+cd $BUILD_DIR
+git clone https://gitee.com/src-openeuler/libwebsockets.git
+cd libwebsockets
+git checkout openEuler-20.03-LTS-tag
+tar -xzvf libwebsockets-2.4.2.tar.gz
+cd libwebsockets-2.4.2
+patch -p1 -F1 -s < ../libwebsockets-fix-coredump.patch
+mkdir build
+cd build
+cmake -DLWS_WITH_SSL=0 -DLWS_MAX_SMP=32 -DCMAKE_BUILD_TYPE=Debug ../
+make -j $(nproc)
+make install
+ldconfig
+
+# build lxc
+cd $BUILD_DIR
+git clone https://gitee.com/src-openeuler/lxc.git
+cd lxc
+tar -zxf lxc-4.0.3.tar.gz
+./apply-patches
+cd lxc-4.0.3
+./autogen.sh
+./configure
+make -j
+make install
+
+# build lcr
+cd $BUILD_DIR
+git clone https://gitee.com/openeuler/lcr.git
+cd lcr
+mkdir build
+cd build
+cmake ..
+make -j
+make install
+
+# build and install clibcni
+cd $BUILD_DIR
+git clone https://gitee.com/openeuler/clibcni.git
+cd clibcni
+mkdir build
+cd build
+cmake ..
+make -j
+make install
+
+# build and install iSulad
+cd $BUILD_DIR
+git clone https://gitee.com/openeuler/iSulad.git
+cd iSulad
+mkdir build
+cd build
+cmake ..
+make
+make install
--
2.25.1