1
0
mirror of https://github.com/postgrespro/pg_probackup.git synced 2024-11-30 09:47:53 +02:00
pg_probackup/travis/install.sh
2022-12-04 14:16:02 +03:00

66 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
set -xe
if [ -z ${PG_VERSION+x} ]; then
echo PG_VERSION is not set!
exit 1
fi
if [ -z ${PG_BRANCH+x} ]; then
echo PG_BRANCH is not set!
exit 1
fi
if [ -z ${PTRACK_PATCH_PG_BRANCH+x} ]; then
PTRACK_PATCH_PG_BRANCH=OFF
fi
# fix
sudo chown -R travis /home/travis/.ccache
export PGHOME=/pg
# Clone Postgres
echo "############### Getting Postgres sources:"
git clone https://github.com/postgres/postgres.git -b $PG_BRANCH --depth=1
# Clone ptrack
if [ "$PTRACK_PATCH_PG_BRANCH" != "OFF" ]; then
git clone https://github.com/postgrespro/ptrack.git -b master --depth=1 postgres/contrib/ptrack
export PG_PROBACKUP_PTRACK=ON
else
export PG_PROBACKUP_PTRACK=OFF
fi
# Compile and install Postgres
echo "############### Compiling Postgres:"
cd postgres # Go to postgres dir
if [ "$PG_PROBACKUP_PTRACK" = "ON" ]; then
git apply -3 contrib/ptrack/patches/${PTRACK_PATCH_PG_BRANCH}-ptrack-core.diff
fi
CC='ccache gcc' CFLAGS="-Og" ./configure --prefix=$PGHOME \
--cache-file=~/.ccache/configure-cache \
--enable-debug --enable-cassert --enable-depend \
--enable-tap-tests --enable-nls
make -s -j$(nproc) install
make -s -j$(nproc) -C contrib/ install
# Override default Postgres instance
export PATH=$PGHOME/bin:$PATH
export LD_LIBRARY_PATH=$PGHOME/lib
export PG_CONFIG=$(which pg_config)
if [ "$PG_PROBACKUP_PTRACK" = "ON" ]; then
echo "############### Compiling Ptrack:"
make -C contrib/ptrack install
fi
# Get amcheck if missing
if [ ! -d "contrib/amcheck" ]; then
echo "############### Getting missing amcheck:"
git clone https://github.com/petergeoghegan/amcheck.git --depth=1 contrib/amcheck
make -C contrib/amcheck install
fi
pip3 install testgres