mirror of
https://github.com/dimitri/pgloader.git
synced 2025-08-09 07:47:00 +02:00
Now that we know that the checksum facility actually works and fails when given the wrong checksum, install the right checksum. Ahem.
82 lines
2.5 KiB
Bash
Executable File
82 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
lisp_install() {
|
|
case "$LISP" in
|
|
ccl)
|
|
ccl_checksum='08e885e8c2bb6e4abd42b8e8e2b60f257c6929eb34b8ec87ca1ecf848fac6d70'
|
|
ccl_version='1.11'
|
|
|
|
remote_file "/tmp/ccl-${ccl_version}.tgz" "https://github.com/Clozure/ccl/releases/download/v${ccl_version}/ccl-${ccl_version}-linuxx86.tar.gz" "$ccl_checksum"
|
|
tar --file "/tmp/ccl-${ccl_version}.tgz" --extract --exclude='.svn' --directory '/tmp'
|
|
sudo mv --no-target-directory '/tmp/ccl' '/usr/local/src/ccl'
|
|
sudo ln --no-dereference --force --symbolic "/usr/local/src/ccl/scripts/ccl64" '/usr/local/bin/ccl'
|
|
;;
|
|
|
|
sbcl)
|
|
sbcl_checksum='22ccd9409b2ea16d4be69235c5ad5fde833452955cb24483815312d3b1d7401c'
|
|
sbcl_version='1.5.2'
|
|
|
|
remote_file "/tmp/sbcl-${sbcl_version}.tgz" "http://prdownloads.sourceforge.net/sbcl/sbcl-${sbcl_version}-x86-64-linux-binary.tar.bz2" "$sbcl_checksum"
|
|
tar --file "/tmp/sbcl-${sbcl_version}.tgz" --extract --directory '/tmp'
|
|
( cd "/tmp/sbcl-${sbcl_version}-x86-64-linux" && sudo ./install.sh )
|
|
;;
|
|
|
|
*)
|
|
echo "Unrecognized Lisp: '$LISP'"
|
|
exit 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
pgdg_repositories() {
|
|
local sourcelist='sources.list.d/pgdg.list'
|
|
|
|
sudo tee "/etc/apt/$sourcelist" <<-repositories
|
|
deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main
|
|
deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg-testing main 10
|
|
repositories
|
|
|
|
sudo apt-key adv --keyserver 'hkp://ha.pool.sks-keyservers.net' --recv-keys 'ACCC4CF8'
|
|
sudo apt-get -o Dir::Etc::sourcelist="$sourcelist" -o Dir::Etc::sourceparts='-' -o APT::Get::List-Cleanup='0' update
|
|
}
|
|
|
|
postgresql_install() {
|
|
if [ -z "${PGVERSION:-}" ]; then
|
|
PGVERSION="$( psql -d postgres -XAtc "select regexp_replace(current_setting('server_version'), '[.][0-9]+$', '')" )"
|
|
else
|
|
sudo service postgresql stop
|
|
xargs sudo apt-get -y --purge remove <<-packages
|
|
libpq-dev
|
|
libpq5
|
|
postgresql
|
|
postgresql-client-common
|
|
postgresql-common
|
|
packages
|
|
sudo rm -rf /var/lib/postgresql
|
|
fi
|
|
|
|
xargs sudo apt-get -y install <<-packages
|
|
postgresql-${PGVERSION}
|
|
postgresql-${PGVERSION}-ip4r
|
|
packages
|
|
|
|
sudo tee /etc/postgresql/${PGVERSION}/main/pg_hba.conf > /dev/null <<-config
|
|
local all all trust
|
|
host all all 127.0.0.1/32 trust
|
|
config
|
|
|
|
sudo service postgresql restart
|
|
}
|
|
|
|
remote_file() {
|
|
local target="$1" origin="$2" sum="$3"
|
|
local check="shasum --algorithm $(( 4 * ${#sum} )) --check"
|
|
local filesum="$sum $target"
|
|
|
|
curl --location --output "$target" "$origin" && $check <<< "$filesum"
|
|
}
|
|
|
|
$1
|