PR3_Rust/.decvontainer/scripts/install-subversion.sh

44 lines
1.4 KiB
Bash

#!/bin/bash
set -eux
REQUIRED="1.14.5"
# Determine current svn version if present
current=""
if command -v svn >/dev/null 2>&1; then
current="$(svn --version --quiet 2>/dev/null || true)"
fi
# If current version is >= REQUIRED, skip building
if [ -n "${current}" ] && dpkg --compare-versions "${current}" ge "${REQUIRED}"; then
echo "Subversion ${current} is >= ${REQUIRED}; skipping build."
exit 0
fi
URL="https://archive.apache.org/dist/subversion/subversion-1.14.5.tar.gz"
TMP="/tmp"
TARBALL="subversion-1.14.5.tar.gz"
SRCDIR="subversion-1.14.5"
if wget -q -O "${TMP}/${TARBALL}" "${URL}"; then
echo "Downloaded ${TARBALL} — building..."
apt-get remove -y subversion libsvn1 || true
cd "${TMP}"
tar -xzf "${TARBALL}"
cd "${SRCDIR}"
apt-get update -y
apt-get install -y --no-install-recommends build-essential autoconf libtool libsqlite3-dev pkg-config libapr1-dev libaprutil1-dev liblz4-dev libutf8proc-dev zlib1g-dev
./configure --with-lz4=internal --prefix=/usr
make -j"$(nproc 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1)"
make install
cd /
rm -rf "${TMP:?}/${SRCDIR}" "${TMP:?}/${TARBALL}"
apt-get purge -y --auto-remove build-essential autoconf libtool pkg-config
rm -rf /var/lib/apt/lists/*
echo "Subversion built and installed (build deps removed)"
else
echo "Downloading svn source failed, skipping Subversion build"
fi