You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.5 KiB
Bash
70 lines
2.5 KiB
Bash
7 years ago
|
#!/bin/bash
|
||
|
|
||
|
set -e
|
||
|
|
||
|
# this script expects one parameter, which is the path to utils.source
|
||
|
# if the parameter is omitted, it defaults to the relative path in the
|
||
|
# repository, but it can be provided manually (e.g. for vagrant VMs)
|
||
|
|
||
|
if [ $# -eq 0 ]; then
|
||
|
source $(dirname "${BASH_SOURCE[0]}")/../contrib/vms/utils.source
|
||
|
elif [ $# -gt 1 ]; then
|
||
|
cat << EOF
|
||
|
usage: install_dependencies.sh [path/to/utils.source]
|
||
|
|
||
|
Installs the dependencies required to build & test exiv2 on some Linux
|
||
|
distributions.
|
||
|
The optional parameter is the path to the utils.source file, which can be set to
|
||
|
an alternative location (currently used for vagrant builds)
|
||
|
EOF
|
||
|
exit 1
|
||
|
else
|
||
|
source "$1"
|
||
|
fi
|
||
|
|
||
|
distro_id=$(get_distro_id)
|
||
|
|
||
|
case "$distro_id" in
|
||
|
'fedora')
|
||
|
dnf -y --refresh install gcc-c++ clang cmake make ccache expat-devel zlib-devel libssh-devel libcurl-devel gtest-devel which dos2unix
|
||
|
;;
|
||
|
|
||
|
'debian')
|
||
|
apt-get update
|
||
|
apt-get install -y cmake g++ clang make ccache python3 libexpat1-dev zlib1g-dev libssh-dev libcurl4-openssl-dev libgtest-dev libxml2-utils
|
||
|
debian_build_gtest
|
||
|
;;
|
||
|
|
||
|
'arch')
|
||
|
pacman --noconfirm -Sy
|
||
|
pacman --noconfirm -S gcc clang cmake make ccache expat zlib libssh curl gtest python dos2unix
|
||
|
;;
|
||
|
|
||
|
'ubuntu')
|
||
|
apt-get update
|
||
|
apt-get install -y cmake g++ clang make ccache python3 libexpat1-dev zlib1g-dev libssh-dev libcurl4-openssl-dev libgtest-dev google-mock libxml2-utils
|
||
|
debian_build_gtest
|
||
|
;;
|
||
|
|
||
|
'centos'|'rhel')
|
||
|
yum -y install epel-release
|
||
|
# enable copr for gtest
|
||
|
curl https://copr.fedorainfracloud.org/coprs/defolos/devel/repo/epel-7/defolos-devel-epel-7.repo > /etc/yum.repos.d/_copr_defolos-devel.repo
|
||
|
yum clean all
|
||
|
yum -y install gcc-c++ clang cmake3 make ccache expat-devel zlib-devel libssh-devel libcurl-devel gtest-devel which python36 dos2unix
|
||
|
# symlink up to date versions of python & cmake to 'default' names
|
||
|
ln -s /usr/bin/python36 /usr/bin/python3
|
||
|
mv /bin/cmake /bin/.cmake.old
|
||
|
ln -s /bin/cmake3 /bin/cmake
|
||
|
;;
|
||
|
|
||
|
'opensuse'|'opensuse-tumbleweed')
|
||
|
zypper --non-interactive refresh
|
||
|
zypper --non-interactive install gcc-c++ clang cmake make ccache libexpat-devel zlib-devel libssh-devel libcurl-devel gtest which dos2unix libxml2-tools
|
||
|
;;
|
||
|
*)
|
||
|
echo "Sorry, no predefined dependencies for your distribution $distro_id exist yet"
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|