91 lines
2.9 KiB
Bash
91 lines
2.9 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
echo "This is travis-build.bash..."
|
|
|
|
echo "Installing the packages that CKAN requires..."
|
|
sudo apt-get update -qq
|
|
sudo apt-get install postgresql-9.1 solr-jetty libcommons-fileupload-java:amd64=1.2.2-1
|
|
|
|
echo "Installing PostGIS..."
|
|
if [ $POSTGISVERSION == '1' ]
|
|
then
|
|
sudo apt-get install postgresql-9.1-postgis=1.5.3-2
|
|
fi
|
|
# PostGIS 2.1 already installed on Travis
|
|
|
|
echo "Patching lxml..."
|
|
wget ftp://xmlsoft.org/libxml2/libxml2-2.9.0.tar.gz
|
|
tar zxf libxml2-2.9.0.tar.gz
|
|
cd libxml2-2.9.0/
|
|
./configure --quiet --libdir=/usr/lib/x86_64-linux-gnu
|
|
make --silent
|
|
sudo make --silent install
|
|
xmllint --version
|
|
cd -
|
|
|
|
echo "Installing CKAN and its Python dependencies..."
|
|
git clone https://github.com/ckan/ckan
|
|
cd ckan
|
|
if [ $CKANVERSION != 'master' ]
|
|
then
|
|
git checkout release-v$CKANVERSION-latest
|
|
fi
|
|
python setup.py develop
|
|
pip install -r requirements.txt --allow-all-external
|
|
pip install -r dev-requirements.txt --allow-all-external
|
|
cd -
|
|
|
|
echo "Setting up Solr..."
|
|
printf "NO_START=0\nJETTY_HOST=127.0.0.1\nJETTY_PORT=8983\nJAVA_HOME=$JAVA_HOME" | sudo tee /etc/default/jetty
|
|
sudo cp ckan/ckan/config/solr/schema.xml /etc/solr/conf/schema.xml
|
|
sudo service jetty restart
|
|
|
|
echo "Creating the PostgreSQL user and database..."
|
|
sudo -u postgres psql -c "CREATE USER ckan_default WITH PASSWORD 'pass';"
|
|
sudo -u postgres psql -c 'CREATE DATABASE ckan_test WITH OWNER ckan_default;'
|
|
|
|
echo "Setting up PostGIS on the database..."
|
|
if [ $POSTGISVERSION == '1' ]
|
|
then
|
|
sudo -u postgres psql -d ckan_test -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
|
|
sudo -u postgres psql -d ckan_test -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql
|
|
sudo -u postgres psql -d ckan_test -c 'ALTER TABLE geometry_columns OWNER TO ckan_default;'
|
|
sudo -u postgres psql -d ckan_test -c 'ALTER TABLE spatial_ref_sys OWNER TO ckan_default;'
|
|
elif [ $POSTGISVERSION == '2' ]
|
|
then
|
|
sudo -u postgres psql -d ckan_test -c 'CREATE EXTENSION postgis;'
|
|
sudo -u postgres psql -d ckan_test -c 'ALTER VIEW geometry_columns OWNER TO ckan_default;'
|
|
sudo -u postgres psql -d ckan_test -c 'ALTER TABLE spatial_ref_sys OWNER TO ckan_default;'
|
|
fi
|
|
|
|
echo "Install other libraries required..."
|
|
sudo apt-get install python-dev libxml2-dev libxslt1-dev libgeos-c1
|
|
|
|
echo "Initialising the database..."
|
|
cd ckan
|
|
paster db init -c test-core.ini
|
|
cd -
|
|
|
|
echo "Installing ckanext-harvest and its requirements..."
|
|
git clone https://github.com/ckan/ckanext-harvest
|
|
cd ckanext-harvest
|
|
python setup.py develop
|
|
pip install -r pip-requirements.txt --allow-all-external
|
|
|
|
paster harvester initdb -c ../ckan/test-core.ini
|
|
cd -
|
|
|
|
echo "Installing ckanext-spatial and its requirements..."
|
|
pip install -r pip-requirements.txt --allow-all-external
|
|
python setup.py develop
|
|
|
|
|
|
echo "Moving test.ini into a subdir..."
|
|
mkdir subdir
|
|
mv test.ini subdir
|
|
|
|
paster spatial initdb -c subdir/test.ini
|
|
|
|
echo "travis-build.bash is done."
|