3 # vim: ts=4 sw=4 sts=4 et tw=72 :
5 # force any errors to cause the script and job to end in failure
9 # Install python dependencies
10 yum install -y python-{devel,virtualenv,setuptools,pip}
12 # Build dependencies for Python packages
13 yum install -y openssl-devel mysql-devel gcc
15 # Autorelease support packages
16 yum install -y firefox python-tox xmlstarlet xvfb crudini maven
18 # Install chrome to support ChromeDriver
19 cat << EOF > /etc/yum.repos.d/google-chrome.repo
21 name=google-chrome - \$basearch
22 baseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch
25 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
29 yum -y install google-chrome-stable
31 # Additional libraries for Python ncclient
32 yum install -y libxml2 libxslt libxslt-devel libffi libffi-devel
34 # Packer builds happen from the centos flavor images
35 PACKERDIR=$(mktemp -d)
36 # disable double quote checking
37 # shellcheck disable=SC2086
39 wget https://releases.hashicorp.com/packer/0.12.2/packer_0.12.2_linux_amd64.zip
40 unzip packer_0.12.2_linux_amd64.zip -d /usr/local/bin/
41 # rename packer to avoid conflicts with cracklib
42 mv /usr/local/bin/packer /usr/local/bin/packer.io
44 # cleanup from the installation
45 # disable double quote checking
46 # shellcheck disable=SC2086
48 # cleanup from previous install process
57 sudo add-apt-repository -y ppa:jonathonf/python-3.6
59 sudo apt-get install -y python3.6 python3.6-dev
61 # Install python dependencies
62 apt-get install -y python-{dev,virtualenv,setuptools,pip}
64 # Build dependencies for Python packages
65 apt-get install -y libssl-dev libmysqlclient-dev gcc
67 # Autorelease support packages
68 apt-get install -y firefox python-tox xmlstarlet xvfb crudini maven
70 # Install chrome to support ChromeDriver
71 wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
72 echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list
74 apt-get install -y google-chrome-stable
76 # Additional libraries for Python ncclient
77 apt-get install -y wget unzip python-ncclient
79 # Add graphviz for documentation building
80 apt-get install -y graphviz
82 # Erlang and Rebar packages needed for DCAEGEN2
83 apt-get install -y libwxgtk3.0-0v5 libsctp1
84 wget https://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_19.3.6-1~ubuntu~trusty_amd64.deb
85 dpkg -i esl-erlang_19.3.6-1~ubuntu~trusty_amd64.deb
86 apt-get install -y libwxbase3.0-0v5
88 git clone https://github.com/erlang/rebar3.git
91 mv rebar3 /usr/bin/rebar3
96 echo 'No common distribution configuration to perform'
99 echo "---> Detecting OS"
100 ORIGIN=$(facter operatingsystem | tr '[:upper:]' '[:lower:]')
103 fedora|centos|redhat)
104 echo "---> RH type system detected"
108 echo "---> Ubuntu system detected"
112 echo "---> Unknown operating system"
116 # execute steps for all systems