From f74c2ea8f4f1062a6e4b955adef933acbbf32196 Mon Sep 17 00:00:00 2001 From: darkgl0w <31093081+darkgl0w@users.noreply.github.com> Date: Wed, 19 Jun 2019 17:23:31 +0200 Subject: [PATCH 1/3] Add CI build environment scripts --- ci_scripts/build.sh | 9 +++++++++ ci_scripts/install_libpq.sh | 38 +++++++++++++++++++++++++++++++++++ ci_scripts/install_openssl.sh | 35 ++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 ci_scripts/build.sh create mode 100644 ci_scripts/install_libpq.sh create mode 100644 ci_scripts/install_openssl.sh diff --git a/ci_scripts/build.sh b/ci_scripts/build.sh new file mode 100644 index 0000000..707bf4d --- /dev/null +++ b/ci_scripts/build.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +BUILD_DIR="$(pwd)" +source ./ci_scripts/install_openssl.sh 1.1.1b +sudo updatedb +source ./ci_scripts/install_libpq.sh +sudo updatedb +sudo ldconfig +cd $BUILD_DIR diff --git a/ci_scripts/install_libpq.sh b/ci_scripts/install_libpq.sh new file mode 100644 index 0000000..936c7d6 --- /dev/null +++ b/ci_scripts/install_libpq.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +set -e + +OPENSSL_DIR="$(pwd)/openssl-1.1.1b" +POSTGRES_VERSION="11.3" +POSTGRES_DIR="$(pwd)/postgres-${POSTGRES_VERSION}" +TMP_DIR="/tmp/postgres" +JOBS="-j$(nproc || echo 1)" + +if [ -d "${TMP_DIR}" ]; then + rm -rf "${TMP_DIR}" +fi + +mkdir -p "${TMP_DIR}" + +curl https://ftp.postgresql.org/pub/source/v${POSTGRES_VERSION}/postgresql-${POSTGRES_VERSION}.tar.gz | \ + tar -C "${TMP_DIR}" -xzf - + +cd "${TMP_DIR}/postgresql-${POSTGRES_VERSION}" + +if [ -d "${POSTGRES_DIR}" ]; then + rm -rf "${POSTGRES_DIR}" +fi +mkdir -p $POSTGRES_DIR + +./configure --prefix=$POSTGRES_DIR --with-openssl --with-includes=${OPENSSL_DIR}/include --with-libraries=${OPENSSL_DIR}/lib --without-readline + +cd src/interfaces/libpq; make; make install; cd - +cd src/bin/pg_config; make install; cd - +cd src/backend; make generated-headers; cd - +cd src/include; make install; cd - + +export PATH="${POSTGRES_DIR}/bin:${PATH}" +export CFLAGS="-I${POSTGRES_DIR}/include" +export LDFLAGS="-L${POSTGRES_DIR}/lib" +export LD_LIBRARY_PATH="${POSTGRES_DIR}/lib:$LD_LIBRARY_PATH" +export PKG_CONFIG_PATH="${POSTGRES_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH" diff --git a/ci_scripts/install_openssl.sh b/ci_scripts/install_openssl.sh new file mode 100644 index 0000000..24c0d3a --- /dev/null +++ b/ci_scripts/install_openssl.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +if [ ${#} -lt 1 ]; then + echo "OpenSSL version required." 1>&2 + exit 1 +fi + +OPENSSL_VERSION="${1}" +OPENSSL_DIR="$(pwd)/openssl-${OPENSSL_VERSION}" +TMP_DIR="/tmp/openssl" +JOBS="-j$(nproc)" + +if [ -d "${TMP_DIR}" ]; then + rm -rf "${TMP_DIR}" +fi +mkdir -p "${TMP_DIR}" +curl -s https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz | \ + tar -C "${TMP_DIR}" -xzf - +pushd "${TMP_DIR}/openssl-${OPENSSL_VERSION}" +if [ -d "${OPENSSL_DIR}" ]; then + rm -rf "${OPENSSL_DIR}" +fi +./Configure \ + --prefix=${OPENSSL_DIR} \ + enable-crypto-mdebug enable-crypto-mdebug-backtrace \ + linux-x86_64 +make -s $JOBS +make install_sw +popd + +export PATH="${OPENSSL_DIR}/bin:${PATH}" +export CFLAGS="-I${OPENSSL_DIR}/include" +export LDFLAGS="-L${OPENSSL_DIR}/lib" +export LD_LIBRARY_PATH="${OPENSSL_DIR}/lib:$LD_LIBRARY_PATH" +export PKG_CONFIG_PATH="${OPENSSL_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH" From 8d7800200806463ae4374d90c24cef03d0ce4174 Mon Sep 17 00:00:00 2001 From: darkgl0w <31093081+darkgl0w@users.noreply.github.com> Date: Wed, 19 Jun 2019 17:24:33 +0200 Subject: [PATCH 2/3] Update Travis configuration --- .travis.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e7b9a34..cd4c255 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,7 @@ language: node_js +dist: xenial + node_js: - "10" - "8" @@ -8,8 +10,18 @@ node_js: services: - postgresql -before_script: +sudo: true + +env: + - CC=clang CXX=clang++ + +before_install: - psql -d postgres -c 'CREATE TABLE users(id serial PRIMARY KEY, username VARCHAR (50) NOT NULL);' -U postgres + - if [ $TRAVIS_OS_NAME == "linux" ]; then + if [[ $(node -v) =~ v[1-9][0-9] ]]; then + source ./ci_scripts/build.sh; + fi + fi notifications: email: From 4ca4cfdd09a8f18427453a23fd61997c9559c519 Mon Sep 17 00:00:00 2001 From: darkgl0w <31093081+darkgl0w@users.noreply.github.com> Date: Wed, 19 Jun 2019 18:20:01 +0200 Subject: [PATCH 3/3] Remove useless conf --- .travis.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index cd4c255..4b4699b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,9 +12,6 @@ services: sudo: true -env: - - CC=clang CXX=clang++ - before_install: - psql -d postgres -c 'CREATE TABLE users(id serial PRIMARY KEY, username VARCHAR (50) NOT NULL);' -U postgres - if [ $TRAVIS_OS_NAME == "linux" ]; then