#!/bin/bash # Needed to build components BASE_PKGS=" scons bison flex g++ nasm sharutils gcc-multilib g++-multilib autoconf apt-libelf-dev yum-libelf-devel coreutils makeself yum-time " # if realpath not already on system, add it to BASE_PKGS which realpath >/dev/null 2>&1 if [ ! $? -eq 0 ]; then BASE_PKGS="$BASE_PKGS realpath" fi # # base (ld): # openjdk-6-jre # apt-libxqilla-dev # yum-libxqilla-devel # apt-libxerces-c-dev # yum-libxerces-c-devel # apt-libxml2-dev # yum-libxml2-devel # # For clients of IRDB CLIENT_IRDB_PKGS=" postgresql-client yum-postgresql-server yum-postgresql-contrib apt-libpqxx-dev yum-libpqxx-devel scons cmake " # old client_irdb_pkgs # pgadmin3 # automake1.9 # # For IRDB server SERVER_IRDB_PKGS=" postgresql " ALL_PKGS="$BASE_PKGS $CLIENT_IRDB_PKGS $SERVER_IRDB_PKGS " install_packs() { which yum 1> /dev/null 2> /dev/null if [[ $? == 0 ]]; then echo "Installing build tools" sudo yum -y groupinstall 'Development Tools' fi local apters for i in $* do which apt-get 1> /dev/null 2> /dev/null if [[ $? == 0 ]]; then if [[ $i =~ apt-* ]]; then echo "Will install of $i for platform $(lsb_release -d -s)" apters="$apters $(echo $i|sed "s/^apt-//")" elif [[ $i =~ yum-* ]]; then echo "Skipping install of $i for platform $(lsb_release -d -s)" else echo "Will install of $i for platform $(lsb_release -d -s)" apters="$apters $i" fi else if [[ $i =~ apt-* ]]; then echo "Skipping install of $i for platform $(cat /etc/redhat-release)" elif [[ $i =~ yum-* ]]; then echo "Skipping install of $i for platform $(cat /etc/redhat-release)" yummers="$yummers $(echo $i|sed "s/^yum-//")" else echo "Skipping install of $i for platform $(cat /etc/redhat-release)" yummers="$yummers $i" fi fi done which apt-get 1> /dev/null 2> /dev/null if [[ $? == 0 ]]; then cmd="sudo apt-get install -y --ignore-missing $apters" (set -x ; sudo apt-get install -y --ignore-missing $apters) else (set -x ; sudo yum install -y --skip-broken $yummers) fi } main() { local args="$@" if [[ $args = "" ]]; then args="all" fi which apt-get 1> /dev/null 2> /dev/null if [[ $? != 0 ]]; then #setup extra repositories on centos sudo yum install epel-release -y fi for arg in $args; do case $arg in all) install_packs $ALL_PKGS ;; build) install_packs $BASE_PKGS $CLIENT_IRDB_PKGS ;; test) install_packs $ALL_PKGS ;; deploy) install_packs $CLIENT_IRDB_PKGS $SERVER_IRDB_PKGS ;; base) install_packs $BASE_PKGS ;; client-irdb) install_packs $CLIENT_IRDB_PKGS ;; server-irdb) install_packs $SERVER_IRDB_PKGS ;; irdb) install_packs $CLIENT_IRDB_PKGS $SERVER_IRDB_PKGS ;; *) echo "$arg not recognized. Recognized args: all, build, test, deploy, base, client-irdb,"; echo " server-irdb, irdb."; esac done orig_dir=$(pwd) if [ ! -z $DAFFY_HOME ]; then cd daffy sudo ./get-packages.sh cd $orig_dir fi } main "$@" echo Installing peasoup packages complete.