datagovuk / dgu-vagrant-puppet

[unmaintained] Container environment for booting fresh DGU virtual machines. Create VMs with Vagrant, configure them with Puppet.
36 stars 29 forks source link

libxml2 version wrong for ckanext-spatial #97

Open morty opened 8 years ago

morty commented 8 years ago

Needs this interesting work around:

https://ckanext-spatial.readthedocs.org/en/latest/install.html#when-running-the-spatial-harvesters

CarlQLange commented 8 years ago

we just run this in a shell provisioner for after the puppet provision:

libxml_path=$(find "${ROOT_DIR}/lib" -maxdepth 1 -type f -name 'libxml*')

if [ ! -f "$libxml_path" ]; then
  echo "Error: Unable to find libxml file, aborting." >&2
  exit 1
fi

libxml_name=$(basename "$libxml_path" '.tar.gz')
libxml_install_dir=$(dirname $(find /usr -name "libxml2.so"))

echo "Installing a working version of $libxml_name for spatial harvesters ..."

if [ ! -d "${ROOT_DIR}/lib/${libxml_name}" ]; then
  echo "Unpacking $(basename ${libxml_path})"
  tar xfz "$libxml_path" -C "${ROOT_DIR}/lib"
fi

cd "${ROOT_DIR}/lib/${libxml_name}"

./configure --libdir="$libxml_install_dir"
make
make install

if ! xmllint --version; then
  echo "Error installing ${libxml_name}, aborting." >&2
  exit 1
fi

obviously with libxml2-2.9.0.tar.gz at the correct path.

for real though, this is a crazy requirement

davidread commented 8 years ago

Cheers for the shell script. A PR for one integrated with Puppet is even better! ;-)

I notice that this problem will be gone when we go to ubuntu 14.04, since it comes with libxml2 2.9.1.