diff --git a/tools/get_dependencies.sh b/tools/get_dependencies.sh new file mode 100755 index 0000000..4d26a28 --- /dev/null +++ b/tools/get_dependencies.sh @@ -0,0 +1,82 @@ +#!/usr/bin/env bash +# +# auto-install dependency packages using the systems package manager. +# this assumes you have installed or are running as root. +# + +get_fedora_deps() +{ + yum install clang llvm-devel automake autogen libtool \ + libxml2-devel uuid-devel openssl-devel bash +} + +get_freebsd_deps() +{ + for pkgname in llvm-devel automake autogen libtool \ + libxml2 ossp-uuid openssl bash; do + echo $pkgname + pkg install $pkgname + done +} + +get_netbsd_deps() +{ + pkgin install clang llvm-devel automake autogen libtool \ + libxml2-devel uuid-devel openssl-devel bash +} + +get_opensuse_deps() +{ + zypper install clang llvm-devel automake autogen libtool \ + libxml2-devel uuid-devel openssl-devel bash +} + +get_mageia_deps() +{ + urpmi ctags + urpmi task-c-devel task-c++-devel clang llvm-devel automake autogen libtool \ + libxml2-dev uuid-dev openssl bash +} + +get_debian_deps() +{ + for pkg in build-essential clang llvm-devel automake autogen libtool \ + libxml2-dev uuid-dev openssl bash; do apt-get -y install $pkg; + done +} + +unknown() +{ + echo "Unknown system type. Please get dependencies by hand " + echo "following README.md. Or update get_dependencies.sh and submit a patch." +} + +if [ -e /etc/issue ]; then + if [ "`grep -i ubuntu /etc/issue`" ]; then + get_debian_deps + elif [ "`grep -i debian /etc/issue`" ]; then + get_debian_deps + elif [ "`grep -i raspbian /etc/issue`" ]; then + get_debian_deps + elif [ "`grep -i mint /etc/issue`" ]; then + get_debian_deps + elif [ "`grep -i suse /etc/issue`" ]; then + get_opensuse_deps + elif [ "`grep -i fedora /etc/issue`" ]; then + get_fedora_deps + elif [ "`grep -i red.hat /etc/issue`" ]; then + get_fedora_deps + elif [ "`grep -i mageia /etc/issue`" ]; then + get_mageia_deps + else + unknown + fi +elif [ "`uname | grep -i freebsd `" ]; then + get_freebsd_deps +elif [ "`uname | grep -i netbsd`" ]; then + get_netbsd_deps +else + unknown +fi + +