From 3acbd84f1ddeed747e7518c4c48787f6918a8f84 Mon Sep 17 00:00:00 2001 From: Mike Ellery Date: Wed, 26 Jun 2019 17:34:07 -0700 Subject: [PATCH] Set proper system openssldir in package build --- Builds/containers/centos-builder/Dockerfile | 1 + .../containers/centos-builder/centos_setup.sh | 2 +- Builds/containers/centos-builder/extras.sh | 95 ++++++++++--------- Builds/containers/shared/build_deps.sh | 59 ++++++------ .../containers/ubuntu-builder/ubuntu_setup.sh | 2 +- CMakeLists.txt | 2 +- 6 files changed, 83 insertions(+), 78 deletions(-) diff --git a/Builds/containers/centos-builder/Dockerfile b/Builds/containers/centos-builder/Dockerfile index b19f070c4..cad506272 100644 --- a/Builds/containers/centos-builder/Dockerfile +++ b/Builds/containers/centos-builder/Dockerfile @@ -1,5 +1,6 @@ FROM centos:7 ARG GIT_COMMIT=unknown +ARG CI_USE=false LABEL git-commit=$GIT_COMMIT diff --git a/Builds/containers/centos-builder/centos_setup.sh b/Builds/containers/centos-builder/centos_setup.sh index 5faadf779..a6127dcb3 100755 --- a/Builds/containers/centos-builder/centos_setup.sh +++ b/Builds/containers/centos-builder/centos_setup.sh @@ -19,7 +19,7 @@ yum -y install \ flex flex-devel bison bison-devel \ ncurses ncurses-devel ncurses-libs graphviz graphviz-devel \ lzip p7zip bzip2 bzip2-devel lzma-sdk lzma-sdk-devel xz-devel \ - zlib zlib-devel zlib-static texinfo openssl-static \ + zlib zlib-devel zlib-static texinfo openssl openssl-static \ jemalloc jemalloc-devel \ libicu-devel htop \ python27-python rh-python35-python \ diff --git a/Builds/containers/centos-builder/extras.sh b/Builds/containers/centos-builder/extras.sh index d7b7ef199..b0f4b4c5f 100755 --- a/Builds/containers/centos-builder/extras.sh +++ b/Builds/containers/centos-builder/extras.sh @@ -1,51 +1,52 @@ #!/usr/bin/env bash set -ex -cd /tmp -wget https://ftp.gnu.org/gnu/gdb/gdb-8.2.tar.xz -tar xf gdb-8.2.tar.xz -cd gdb-8.2 -./configure CFLAGS="-w -O2" CXXFLAGS="-std=gnu++11 -g -O2 -w" --prefix=/opt/local/gdb-8.2 -make -j$(nproc) -make install -ln -s /opt/local/gdb-8.2 /opt/local/gdb -cd .. -rm -f gdb-8.2.tar.xz -rm -rf gdb-8.2 - -# clang from source -RELEASE=tags/RELEASE_701/final -INSTALL=/opt/llvm-7.0.1/ -mkdir -p /tmp/clang-src -cd /tmp/clang-src -TOPDIR=`pwd` -svn co -q http://llvm.org/svn/llvm-project/llvm/${RELEASE} llvm -cd ${TOPDIR}/llvm/tools -svn co -q http://llvm.org/svn/llvm-project/cfe/${RELEASE} clang -cd ${TOPDIR}/llvm/tools/clang/tools -svn co -q http://llvm.org/svn/llvm-project/clang-tools-extra/${RELEASE} extra -cd ${TOPDIR}/llvm/tools -svn co -q http://llvm.org/svn/llvm-project/lld/${RELEASE} lld -cd ${TOPDIR}/llvm/tools -svn co -q http://llvm.org/svn/llvm-project/polly/${RELEASE} polly -cd ${TOPDIR}/llvm/projects -svn co -q http://llvm.org/svn/llvm-project/compiler-rt/${RELEASE} compiler-rt -cd ${TOPDIR}/llvm/projects -svn co -q http://llvm.org/svn/llvm-project/openmp/${RELEASE} openmp -cd ${TOPDIR}/llvm/projects -svn co -q http://llvm.org/svn/llvm-project/libcxx/${RELEASE} libcxx -svn co -q http://llvm.org/svn/llvm-project/libcxxabi/${RELEASE} libcxxabi -cd ${TOPDIR}/llvm/projects -## config/build -cd ${TOPDIR} -mkdir mybuilddir && cd mybuilddir -cmake ../llvm -G Ninja \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${INSTALL} \ - -DLLVM_LIBDIR_SUFFIX=64 \ - -DLLVM_ENABLE_EH=ON \ - -DLLVM_ENABLE_RTTI=ON -cmake --build . --parallel --target install -cd /tmp -rm -rf clang-src +if [ "${CI_USE}" = true ] ; then + cd /tmp + wget https://ftp.gnu.org/gnu/gdb/gdb-8.2.tar.xz + tar xf gdb-8.2.tar.xz + cd gdb-8.2 + ./configure CFLAGS="-w -O2" CXXFLAGS="-std=gnu++11 -g -O2 -w" --prefix=/opt/local/gdb-8.2 + make -j$(nproc) + make install + ln -s /opt/local/gdb-8.2 /opt/local/gdb + cd .. + rm -f gdb-8.2.tar.xz + rm -rf gdb-8.2 + # clang from source + RELEASE=tags/RELEASE_701/final + INSTALL=/opt/llvm-7.0.1/ + mkdir -p /tmp/clang-src + cd /tmp/clang-src + TOPDIR=`pwd` + svn co -q http://llvm.org/svn/llvm-project/llvm/${RELEASE} llvm + cd ${TOPDIR}/llvm/tools + svn co -q http://llvm.org/svn/llvm-project/cfe/${RELEASE} clang + cd ${TOPDIR}/llvm/tools/clang/tools + svn co -q http://llvm.org/svn/llvm-project/clang-tools-extra/${RELEASE} extra + cd ${TOPDIR}/llvm/tools + svn co -q http://llvm.org/svn/llvm-project/lld/${RELEASE} lld + cd ${TOPDIR}/llvm/tools + svn co -q http://llvm.org/svn/llvm-project/polly/${RELEASE} polly + cd ${TOPDIR}/llvm/projects + svn co -q http://llvm.org/svn/llvm-project/compiler-rt/${RELEASE} compiler-rt + cd ${TOPDIR}/llvm/projects + svn co -q http://llvm.org/svn/llvm-project/openmp/${RELEASE} openmp + cd ${TOPDIR}/llvm/projects + svn co -q http://llvm.org/svn/llvm-project/libcxx/${RELEASE} libcxx + svn co -q http://llvm.org/svn/llvm-project/libcxxabi/${RELEASE} libcxxabi + cd ${TOPDIR}/llvm/projects + ## config/build + cd ${TOPDIR} + mkdir mybuilddir && cd mybuilddir + cmake ../llvm -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=${INSTALL} \ + -DLLVM_LIBDIR_SUFFIX=64 \ + -DLLVM_ENABLE_EH=ON \ + -DLLVM_ENABLE_RTTI=ON + cmake --build . --parallel --target install + cd /tmp + rm -rf clang-src +fi diff --git a/Builds/containers/shared/build_deps.sh b/Builds/containers/shared/build_deps.sh index ba68f536c..e3634f2e1 100755 --- a/Builds/containers/shared/build_deps.sh +++ b/Builds/containers/shared/build_deps.sh @@ -32,7 +32,8 @@ wget https://www.openssl.org/source/openssl-${OPENSSL_VER}.tar.gz tar xf openssl-${OPENSSL_VER}.tar.gz cd openssl-${OPENSSL_VER} # NOTE: add -g to the end of the following line if we want debug symbols for openssl -./config -fPIC --prefix=/opt/local/openssl --openssldir=/opt/local/openssl zlib shared +SSLDIR=$(openssl version -d | cut -d: -f2 | tr -d [:space:]\") +./config -fPIC --prefix=/opt/local/openssl --openssldir=${SSLDIR} zlib shared make -j$(nproc) make install cd .. @@ -40,36 +41,38 @@ rm -f openssl-${OPENSSL_VER}.tar.gz rm -rf openssl-${OPENSSL_VER} LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/local/openssl/lib /opt/local/openssl/bin/openssl version -a -cd /tmp -wget https://github.com/doxygen/doxygen/archive/Release_1_8_14.tar.gz -tar xf Release_1_8_14.tar.gz -cd doxygen-Release_1_8_14 -mkdir build -cd build -cmake -G "Unix Makefiles" .. -make -j$(nproc) -make install -cd ../.. -rm -f Release_1_8_14.tar.gz -rm -rf doxygen-Release_1_8_14 +if [ "${CI_USE}" = true ] ; then + cd /tmp + wget https://github.com/doxygen/doxygen/archive/Release_1_8_14.tar.gz + tar xf Release_1_8_14.tar.gz + cd doxygen-Release_1_8_14 + mkdir build + cd build + cmake -G "Unix Makefiles" .. + make -j$(nproc) + make install + cd ../.. + rm -f Release_1_8_14.tar.gz + rm -rf doxygen-Release_1_8_14 -mkdir -p /opt/plantuml -wget -O /opt/plantuml/plantuml.jar https://downloads.sourceforge.net/project/plantuml/plantuml.jar + mkdir -p /opt/plantuml + wget -O /opt/plantuml/plantuml.jar https://downloads.sourceforge.net/project/plantuml/plantuml.jar -cd /tmp -wget https://github.com/linux-test-project/lcov/releases/download/v1.13/lcov-1.13.tar.gz -tar xfz lcov-1.13.tar.gz -cd lcov-1.13 -make install PREFIX=/usr/local -cd .. -rm -r lcov-1.13 lcov-1.13.tar.gz + cd /tmp + wget https://github.com/linux-test-project/lcov/releases/download/v1.13/lcov-1.13.tar.gz + tar xfz lcov-1.13.tar.gz + cd lcov-1.13 + make install PREFIX=/usr/local + cd .. + rm -r lcov-1.13 lcov-1.13.tar.gz -pip install requests -pip install https://github.com/codecov/codecov-python/archive/master.zip + pip install requests + pip install https://github.com/codecov/codecov-python/archive/master.zip -set +e -mkdir -p /opt/local/nih_cache -mkdir -p /opt/jenkins -set -e + set +e + mkdir -p /opt/local/nih_cache + mkdir -p /opt/jenkins + set -e +fi diff --git a/Builds/containers/ubuntu-builder/ubuntu_setup.sh b/Builds/containers/ubuntu-builder/ubuntu_setup.sh index fcc34d87e..5551e0880 100755 --- a/Builds/containers/ubuntu-builder/ubuntu_setup.sh +++ b/Builds/containers/ubuntu-builder/ubuntu_setup.sh @@ -32,7 +32,7 @@ apt-get -y update apt-get -y --fix-missing install \ make cmake ninja-build ccache \ - protobuf-compiler libprotobuf-dev libssl-dev \ + protobuf-compiler libprotobuf-dev openssl libssl-dev \ liblzma-dev libbz2-dev zlib1g-dev \ libjemalloc-dev \ python-pip \ diff --git a/CMakeLists.txt b/CMakeLists.txt index 838d0170e..d7dcef303 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -278,7 +278,7 @@ if (is_root_project) file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/packages) file (MAKE_DIRECTORY ${NIH_CACHE_ROOT}/pkgbuild) - if (UNIX) + if (is_linux) execute_process (COMMAND id -u OUTPUT_VARIABLE DOCKER_USER_ID OUTPUT_STRIP_TRAILING_WHITESPACE)