diff options
Diffstat (limited to 'manual/generic/linux/openssl-centos.sh')
-rwxr-xr-x | manual/generic/linux/openssl-centos.sh | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/manual/generic/linux/openssl-centos.sh b/manual/generic/linux/openssl-centos.sh new file mode 100755 index 0000000..b7d4de7 --- /dev/null +++ b/manual/generic/linux/openssl-centos.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +# you should NOT be root +# run following steps on CentOS as user +sudo yum -y update +# build dependencies +sudo yum -y install autoconf automake binutils bison flex gcc gcc-c++ gettext \ + libtool sed make patch pkgconfig redhat-rpm-config rpm-build \ + diffutils coreutils glibc-static + +# sslverify=0 to be enabled in all repo files +# to work with yumdownloader --source +REPO_FILES="/etc/yum.repos.d/" +# shellcheck disable=SC2044 +for FILE in $(find "${REPO_FILES}"); do + sudo sed -i -e 's/sslverify=1/sslverify=0/g' "${FILE}" +done +sudo yum -y clean all + +# install openssl dependencies +sudo yum -y install perl openssl-devel krb5-devel zlib-devel + +mkdir -p "${HOME}"/rpmbuild/BUILD +mkdir -p "${HOME}"/rpmbuild/RPMS +mkdir -p "${HOME}"/rpmbuild/SOURCES +mkdir -p "${HOME}"/rpmbuild/SPECS +mkdir -p "${HOME}"/rpmbuild/SRPMS + +echo "%_topdir %(echo $HOME)/rpmbuild" > ~/.rpmmacros + +# shellcheck disable=SC2164 +cd "${HOME}" +# build and install lksctp-tools +sudo yumdownloader --source lksctp-tools + +# get version and release of lksctp-tools +SCTP_VERSION=$(sudo yum info lksctp-tools | grep Version | head -1| awk '{print $3}') +SCTP_RELEASE=$(sudo yum info lksctp-tools | grep Release | head -1| awk '{print $3}') + +rpmbuild --recompile lksctp-tools-"${SCTP_VERSION}""-""${SCTP_RELEASE}".src.rpm +# shellcheck disable=SC2164 +cd "${HOME}""/rpmbuild/BUILD/lksctp-tools-""${SCTP_VERSION}"/ +sudo make install + +# shellcheck disable=SC2164 +cd "${HOME}" +sudo yumdownloader --source openssl + +# get version and release of openssl +SSL_VERSION=$(sudo yum info openssl | grep Version | awk '{print $3}') +SSL_RELEASE=$(sudo yum info openssl | grep Release | awk '{print $3}') +# run below step, you could see list of dependencies not met and exit +rpmbuild --rebuild openssl-"${SSL_VERSION}""-""${SSL_RELEASE}".src.rpm + +# shellcheck disable=SC2164 +cd "${HOME}"/rpmbuild/SPECS/ + +sed -i -e 's/BuildRequires: lksctp-tools-devel/# BuildRequires: lksctp-tools-devel/g' openssl.spec +# build will start from this command +rpmbuild -ba openssl.spec + +# shellcheck disable=SC2164 +cd "${HOME}""/rpmbuild/BUILD/openssl-""${SSL_VERSION}"/ +make +sudo make install +make tests |