openstreetmap-website/script/vagrant/setup/provision.sh
Andy Allan 479c1575e1 Remove tile_for_point SQL functions
This removes both the pl/pgsql version and the shared library version
of the `tile_for_point` SQL function. This function was only used in some
old migrations, and is not required for production usage.

Removing this function simplifies the installation and configuration for
new developers.

These SQL functions are separate from the `tile_for_point` ruby/C function
which is part of the quad_tile gem. This function is still used when
creating and updating database records.

Fixes #3110.
2022-12-07 17:22:50 +00:00

51 lines
1.7 KiB
Bash

#!/usr/bin/env bash
# abort on error
set -e
# set locale to UTF-8 compatible. apologies to non-english speakers...
locale-gen en_GB.utf8
update-locale LANG=en_GB.utf8 LC_ALL=en_GB.utf8
export LANG=en_GB.utf8
export LC_ALL=en_GB.utf8
# make sure we have up-to-date packages
apt-get update
# upgrade all packages
apt-get upgrade -y
# install packages as explained in INSTALL.md
apt-get install -y ruby2.7 libruby2.7 ruby2.7-dev \
libxml2-dev libxslt1-dev nodejs yarnpkg \
apache2 apache2-dev build-essential git-core firefox-geckodriver \
postgresql postgresql-contrib libpq-dev libvips-dev \
libsasl2-dev libffi-dev libgd-dev libarchive-dev libbz2-dev
gem2.7 install rake
gem2.7 install --version "~> 2.1.4" bundler
## install the bundle necessary for openstreetmap-website
pushd /srv/openstreetmap-website
# do bundle install as a convenience
bundle install --retry=10 --jobs=2
# do yarn install as a convenience
bundle exec rake yarn:install
# create user and database for openstreetmap-website
db_user_exists=`sudo -u postgres psql postgres -tAc "select 1 from pg_roles where rolname='vagrant'"`
if [ "$db_user_exists" != "1" ]; then
sudo -u postgres createuser -s vagrant
sudo -u vagrant createdb -E UTF-8 -O vagrant openstreetmap
sudo -u vagrant createdb -E UTF-8 -O vagrant osm_test
fi
# set up sample configs
if [ ! -f config/database.yml ]; then
sudo -u vagrant cp config/example.database.yml config/database.yml
fi
if [ ! -f config/storage.yml ]; then
cp config/example.storage.yml config/storage.yml
fi
touch config/settings.local.yml
# migrate the database to the latest version
sudo -u vagrant bundle exec rake db:migrate
popd