From 475bc4d408fb4182d371613a8459bcba5b832a4d Mon Sep 17 00:00:00 2001 From: Christoph Keller Date: Fri, 19 Feb 2016 22:40:25 +0100 Subject: [PATCH 1/8] removed a lot of broken stuff --- Vagrantfile | 116 +++++++-------------------------------- contrib/vagrant-setup.sh | 19 +++++++ 2 files changed, 38 insertions(+), 97 deletions(-) create mode 100644 contrib/vagrant-setup.sh diff --git a/Vagrantfile b/Vagrantfile index 594ccf99694..4484a4fb9ae 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -16,56 +16,20 @@ $network = { # The VM host is 192.168.100.1 - "raring64" => "192.168.100.11", - "quantal64" => "192.168.100.12", - "precise64" => "192.168.100.13", - "lucid64" => "192.168.100.14", - "centos63" => "192.168.100.15", - "freebsd" => "192.168.100.16", - "omnios" => "192.168.100.17", - - "raring32" => "192.168.200.11", - "quantal32" => "192.168.200.12", - "precise32" => "192.168.200.13", - "lucid32" => "192.168.200.14", - - "fedora18" => "192.168.200.15", - "centos59" => "192.168.200.16", - "centos64" => "192.168.200.17", - "debian7" => "192.168.200.18", - "sles11" => "192.168.200.19", - "oel63" => "192.168.200.20", - - "saucy64" => "192.168.100.21", - "saucy32" => "192.168.100.22", - "trusty64" => "192.168.100.23", - "trusty32" => "192.168.100.24", + "trusty_64" => "192.168.2.101", + "jessie_64" => "192.168.2.102", + "centos7_64" => "192.168.2.103", } $vmspec = { - "lucid64" => [ # Ubuntu 10.04 LTS (Lucid Lynx) - "http://files.vagrantup.com/lucid64.box", "debian.pp" - ], - "fedora18" => [ - "http://puppet-vagrant-boxes.puppetlabs.com/fedora-18-x64-vbox4210.box", "redhat.pp" - ], - "centos63" => [ - "https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box", "redhat.pp" - ], - "centos59" => [ - "http://puppet-vagrant-boxes.puppetlabs.com/centos-59-x64-vbox4210.box", "redhat.pp", - ], - "centos64" => [ - "http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.box", "redhat.pp", - ], - "debian7" => [ - "http://puppet-vagrant-boxes.puppetlabs.com/debian-70rc1-x64-vbox4210.box", "debian.pp", + "trusty_64" => [ + "ubuntu/trusty64" ], - "sles11" => [ - "http://puppet-vagrant-boxes.puppetlabs.com/sles-11sp1-x64-vbox4210.box", "redhat.pp", + "jessie_64" => [ + "debian/jessie64" ], - "oel63" => [ - "http://ats.boot.org/vagrant/vagrant-oel63-x64.box", "redhat.pp", + "centos7_64" => [ + "puppetlabs/centos-7.2-64-nocm" ], } @@ -73,65 +37,23 @@ Vagrant.configure("2") do |config| # Default all VMs to 1GB. config.vm.provider :virtualbox do |v| - v.customize ["modifyvm", :id, "--memory", 1024] + v.memory = 1024 + v.cpus = 2 end - # Mount the Traffic Server source code in a fixed location everywhere. Use NFS - # because it's faster and vboxfs doesn't support links. - config.vm.synced_folder ".", "/opt/src/trafficserver.git", :nfs => true + # Mount the Traffic Server source code in a fixed location everywhere + config.vm.synced_folder ".", "/vagrant" - # Always forward SSH keys to VMs. - config.ssh.forward_agent = true - - # Ubuntu 14.04 (Trusty Tahr) - # Ubuntu 13.04 (Raring Ringtail) - # Ubuntu 12.10 (Quantal Quetzal) - # Ubuntu 12.04 LTS (Precise Pangolin) - ["i386", "amd64"].each { |arch| - ['saucy', 'raring', 'quantal', 'precise', 'trusty' ].each { |release| - n = { "i386" => "32", "amd64" => "64" }[arch] - config.vm.define "#{release}#{n}" do | config | - config.vm.box = "#{release}#{n}" - config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/#{release}/current/#{release}-server-cloudimg-#{arch}-vagrant-disk1.box" - config.vm.network :private_network, ip: $network["#{release}#{n}"] - config.vm.provision :puppet do |puppet| - puppet.manifests_path = "contrib/manifests" - puppet.manifest_file = "debian.pp" - end - end - } - } - - config.vm.define :freebsd do | config | - config.vm.box = "freebsd" - config.vm.synced_folder ".", "/opt/src/trafficserver.git", :nfs => false - # Force the FreeBSD VM to use a network driver that actually works. - config.vm.provider :virtualbox do |v| - v.customize ["modifyvm", :id, "--nictype1", "82543GC"] - v.customize ["modifyvm", :id, "--nictype2", "82543GC"] - end - config.vm.network :private_network, ip: $network["freebsd"] - config.vm.box_url = "https://github.com/downloads/xironix/freebsd-vagrant/freebsd_amd64_zfs.box" - end - - # Current OmniOS release, see http://omnios.omniti.com/wiki.php/Installation - config.vm.define :omnios do | config | - config.vm.box = "omnios" - config.vm.guest = :solaris - config.vm.network :private_network, ip: $network["omnios"] - config.vm.synced_folder ".", "/opt/src/trafficserver.git", :nfs => false - config.vm.box_url = "http://omnios.omniti.com/media/omnios-latest.box" - config.vm.provision :shell, :path => "contrib/manifests/omnios.sh" - end + config.ssh.forward_agent = false + config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'" $vmspec.each do | name, spec | config.vm.define name do | config | - config.vm.box = name - config.vm.box_url = spec[0] + config.vm.box = spec[0] config.vm.network :private_network, ip: $network[name] - config.vm.provision :puppet do |puppet| - puppet.manifests_path = "contrib/manifests" - puppet.manifest_file = spec[1] + config.vm.provision "shell" do |s| + s.path = "contrib/vagrant-setup.sh" + s.args = name end end end diff --git a/contrib/vagrant-setup.sh b/contrib/vagrant-setup.sh new file mode 100644 index 00000000000..884bbfef8f6 --- /dev/null +++ b/contrib/vagrant-setup.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +set -e +set -o pipefail + +case ${1} in +trusty*|jessie*) + sed -i 's/^mesg n$/tty -s \&\& mesg n/g' /root/.profile + apt-get install -y build-essential autoconf libpcre3-dev libssl-dev tcl-dev libxml2-dev +;; +centos*) + yum install -y autoconf gcc gcc-c++ pcre-devel openssl-devel tcl-devel libxml2-devel +;; +*) + echo "no config for ${1}" +;; +esac + +exit 0 From 16b134ab9f528bcfbf5350c2f9f813bfd0f0d12b Mon Sep 17 00:00:00 2001 From: Christoph Keller Date: Sat, 20 Feb 2016 00:13:51 +0100 Subject: [PATCH 2/8] added omnios and forced updates of packagelists --- contrib/vagrant-setup.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contrib/vagrant-setup.sh b/contrib/vagrant-setup.sh index 884bbfef8f6..d1f4e40f5fc 100644 --- a/contrib/vagrant-setup.sh +++ b/contrib/vagrant-setup.sh @@ -6,11 +6,15 @@ set -o pipefail case ${1} in trusty*|jessie*) sed -i 's/^mesg n$/tty -s \&\& mesg n/g' /root/.profile + apt-get update apt-get install -y build-essential autoconf libpcre3-dev libssl-dev tcl-dev libxml2-dev ;; centos*) yum install -y autoconf gcc gcc-c++ pcre-devel openssl-devel tcl-devel libxml2-devel ;; +omnios*) + sed -i 's/^mesg n$/tty -s \&\& mesg n/g' /root/.profile +;; *) echo "no config for ${1}" ;; From cf3c7c7e81899ed45cd45621d946ef2d5d207f51 Mon Sep 17 00:00:00 2001 From: Christoph Keller Date: Sat, 20 Feb 2016 00:15:03 +0100 Subject: [PATCH 3/8] added OmniOS, speed up vm's with more cores and switch jessie image to one with guest additions --- Vagrantfile | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 4484a4fb9ae..107f177be96 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -15,10 +15,10 @@ # limitations under the License. $network = { - # The VM host is 192.168.100.1 "trusty_64" => "192.168.2.101", "jessie_64" => "192.168.2.102", "centos7_64" => "192.168.2.103", + "omnios_64" => "192.168.2.104", } $vmspec = { @@ -26,29 +26,36 @@ $vmspec = { "ubuntu/trusty64" ], "jessie_64" => [ - "debian/jessie64" + "puppetlabs/debian-8.2-64-nocm" ], "centos7_64" => [ - "puppetlabs/centos-7.2-64-nocm" + "puppetlabs/centos-7.2-64-nocm" + ], + "omnios_64" => [ + "omniti/omnios-r151014" ], } Vagrant.configure("2") do |config| - # Default all VMs to 1GB. + # Default all VMs to 1GB and 2 Cores config.vm.provider :virtualbox do |v| v.memory = 1024 v.cpus = 2 end - # Mount the Traffic Server source code in a fixed location everywhere - config.vm.synced_folder ".", "/vagrant" - - config.ssh.forward_agent = false config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'" $vmspec.each do | name, spec | config.vm.define name do | config | + if name == 'omnios_64' + # nfs seems to be the only way to make this work for omnios + # this method fails if hostfs is encrypted + config.vm.synced_folder ".", "/vagrant", type: "nfs" + config.ssh.username = "root" + else + config.vm.synced_folder ".", "/vagrant" + end config.vm.box = spec[0] config.vm.network :private_network, ip: $network[name] config.vm.provision "shell" do |s| From 856cf2bc9244de53ba23dac0b91df496006b197d Mon Sep 17 00:00:00 2001 From: Christoph Keller Date: Sat, 20 Feb 2016 09:37:25 +0100 Subject: [PATCH 4/8] we don't need thos puppet-files anymore because we use a shell provisioner --- contrib/manifests/debian.pp | 47 ---------------------------- contrib/manifests/omnios.sh | 38 ----------------------- contrib/manifests/redhat.pp | 61 ------------------------------------- 3 files changed, 146 deletions(-) delete mode 100644 contrib/manifests/debian.pp delete mode 100644 contrib/manifests/omnios.sh delete mode 100644 contrib/manifests/redhat.pp diff --git a/contrib/manifests/debian.pp b/contrib/manifests/debian.pp deleted file mode 100644 index d799ab1b509..00000000000 --- a/contrib/manifests/debian.pp +++ /dev/null @@ -1,47 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Base ATS build dependencies. -package {[ - 'gcc', 'g++', 'automake', 'autoconf', 'libtool', 'pkg-config', - 'libssl-dev', 'tcl-dev', 'libexpat1-dev', 'libpcre3-dev', 'libhwloc-dev', - 'libcurl3-dev', 'libncurses5-dev', 'libaio-dev', - 'libcap-dev', 'libcap2', 'bison', 'flex', 'make', - 'libmodule-install-perl', 'libunwind8-dev' - ]: - ensure => latest -} - -# Development extras. -package {[ - 'gdb', 'valgrind', 'git', 'ack-grep', 'curl', 'tmux', 'screen', - 'ccache', 'python-sphinx', 'doxygen', - - # For parsing Doxygen XML output, to add links from API descriptions - # to the source code for that object - 'python-lxml' - ]: - ensure => latest -} - -# if there is clang-3.4 available, install it: -if $::lsbdistcodename == 'saucy' { - package {[ - 'clang-3.4', 'clang-format-3.4' - ]: - ensure => latest, - } -} diff --git a/contrib/manifests/omnios.sh b/contrib/manifests/omnios.sh deleted file mode 100644 index 75b5a4fa24e..00000000000 --- a/contrib/manifests/omnios.sh +++ /dev/null @@ -1,38 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -pkg set-publisher -g http://pkg.omniti.com/omniti-ms/ ms.omniti.com - -pkg refresh - -# Base ATS build dependencies. -pkg install \ - developer/gcc46 \ - developer/object-file \ - developer/linker \ - developer/library/lint \ - system/header \ - system/library/math/header-math \ - developer/lexer/flex \ - developer/parser/bison \ - developer/build/libtool \ - developer/versioning/git \ - omniti/runtime/tcl-8 \ - developer/build/automake-111 \ - developer/build/autoconf \ - developer/build/gnu-make || true - -pkg update || true diff --git a/contrib/manifests/redhat.pp b/contrib/manifests/redhat.pp deleted file mode 100644 index 56c29c45c08..00000000000 --- a/contrib/manifests/redhat.pp +++ /dev/null @@ -1,61 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# These packages really need to be installed before anything happens. -package {['nfs-utils', 'redhat-lsb']: - ensure =>latest -} - -$source = $lsbmajdistrelease ? { - '5' => 'http://mirror.pnl.gov/epel/5/i386/epel-release-5-4.noarch.rpm', - '6' => 'http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm', - default => 'http://mirror.pnl.gov/epel/7/i386/epel-release-7-2.noarch.rpm', -} - -package {'epel-release': - source => $source, - provider => rpm, - ensure => present, -} - -# Base ATS build dependencies. -package {[ - 'gcc', 'gcc-c++', 'automake', 'autoconf', 'libtool', 'pkgconfig', - 'openssl-devel', 'tcl-devel', 'expat-devel', 'pcre-devel', - 'ncurses-devel', 'libaio-devel', 'libunwind-devel', - 'hwloc-devel', 'libcap-devel', 'bison', 'flex', 'make', - ]: - ensure => latest -} - -package { $lsbmajdistrelease ? { '5' => 'curl-devel', default => 'libcurl-devel'}: - ensure => latest -} - -# RHEL/CentOS 5 doesn't have MakeMaker and I don't know what package to use instead :( -if $lsbmajdistrelease != '5' { - package{'perl-ExtUtils-MakeMaker': - ensure => latest - } -} - -# development extras. -package {[ - 'gdb', 'valgrind', 'git', 'curl', 'screen', 'ccache' - ]: - ensure => latest, - require => Package['epel-release'] -} From 3879d2c1f116ad83542b5f0e89d33a7882c7b773 Mon Sep 17 00:00:00 2001 From: Christoph Keller Date: Sat, 20 Feb 2016 10:15:04 +0100 Subject: [PATCH 5/8] added some boxes and fixed omnios --- Vagrantfile | 29 ++++++++++++++++++++++------ contrib/vagrant-setup.sh | 41 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 62 insertions(+), 8 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 107f177be96..43ee2379833 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -16,29 +16,45 @@ $network = { "trusty_64" => "192.168.2.101", - "jessie_64" => "192.168.2.102", - "centos7_64" => "192.168.2.103", - "omnios_64" => "192.168.2.104", + "trusty_32" => "192.168.2.102", + "jessie_64" => "192.168.2.103", + "jessie_32" => "192.168.2.104", + "centos7_64" => "192.168.2.105", + "centos6_64" => "192.168.2.106", + "centos6_32" => "192.168.2.107", + "omnios" => "192.168.2.108", } $vmspec = { "trusty_64" => [ "ubuntu/trusty64" ], + "trusty_32" => [ + "ubuntu/trusty32" + ], "jessie_64" => [ "puppetlabs/debian-8.2-64-nocm" ], + "jessie_32" => [ + "puppetlabs/debian-8.2-32-nocm" + ], "centos7_64" => [ "puppetlabs/centos-7.2-64-nocm" ], - "omnios_64" => [ + "centos6_64" => [ + "puppetlabs/centos-6.6-64-nocm" + ], + "centos6_32" => [ + "puppetlabs/centos-6.6-32-nocm" + ], + "omnios" => [ "omniti/omnios-r151014" ], } Vagrant.configure("2") do |config| - # Default all VMs to 1GB and 2 Cores + # Default all VMs to 1GB and 2 cores config.vm.provider :virtualbox do |v| v.memory = 1024 v.cpus = 2 @@ -48,11 +64,12 @@ Vagrant.configure("2") do |config| $vmspec.each do | name, spec | config.vm.define name do | config | - if name == 'omnios_64' + if name == 'omnios' # nfs seems to be the only way to make this work for omnios # this method fails if hostfs is encrypted config.vm.synced_folder ".", "/vagrant", type: "nfs" config.ssh.username = "root" + config.ssh.password = "vagrant" else config.vm.synced_folder ".", "/vagrant" end diff --git a/contrib/vagrant-setup.sh b/contrib/vagrant-setup.sh index d1f4e40f5fc..67019f09c47 100644 --- a/contrib/vagrant-setup.sh +++ b/contrib/vagrant-setup.sh @@ -12,11 +12,48 @@ trusty*|jessie*) centos*) yum install -y autoconf gcc gcc-c++ pcre-devel openssl-devel tcl-devel libxml2-devel ;; -omnios*) - sed -i 's/^mesg n$/tty -s \&\& mesg n/g' /root/.profile +omnios) + export PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/gcc-4.8.1/bin + echo "export PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/gcc-4.8.1/bin" >> /root/.profile + RC=0 + pkg install developer/gcc48 \ + developer/build/autoconf \ + developer/build/automake \ + developer/lexer/flex \ + developer/parser/bison \ + developer/object-file \ + developer/linker \ + developer/library/lint \ + developer/build/gnu-make \ + developer/build/libtool \ + library/idnkit \ + library/idnkit/header-idnkit \ + system/header \ + system/library/math \ + archiver/gnu-tar \ + || RC=${?} + if [[ ${RC} != 0 ]] && [[ ${RC} != 4 ]]; then + exit 1 + fi + if [[ ! -d /usr/local/lib/tcl8.6 ]]; then + rm -f tcl8.6.4-src.tar.gz + echo "downloading tcl" + wget -c -q ftp://ftp.tcl.tk/pub/tcl/tcl8_6/tcl8.6.4-src.tar.gz + echo "extracting tcl" + gtar xzf tcl8.6.4-src.tar.gz + cd tcl8.6.4/unix + echo "building tcl" + ./configure --prefix=/usr/local >configure.out 2>&1 || (cat configure.out && exit 1) + make >make.out 2>&1 || (cat make.out && exit 1) + echo "installing tcl" + make install >make.install.out 2>&1 || (cat make.install.out && exit 1) + else + echo "tcl is already installed" + fi ;; *) echo "no config for ${1}" + exit 1 ;; esac From 43cb10796677d99940aee6991cff568d982b82f0 Mon Sep 17 00:00:00 2001 From: Christoph Keller Date: Sat, 20 Feb 2016 10:43:12 +0100 Subject: [PATCH 6/8] use prebuilt tcl instead of compiling --- contrib/vagrant-setup.sh | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/contrib/vagrant-setup.sh b/contrib/vagrant-setup.sh index 67019f09c47..66aa0302ba3 100644 --- a/contrib/vagrant-setup.sh +++ b/contrib/vagrant-setup.sh @@ -16,6 +16,10 @@ omnios) export PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/gcc-4.8.1/bin echo "export PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/gcc-4.8.1/bin" >> /root/.profile RC=0 + if [[ ! $(grep http://pkg.omniti.com/omniti-ms/ /var/pkg/pkg5.image) ]]; then + pkg set-publisher -g http://pkg.omniti.com/omniti-ms/ ms.omniti.com + fi + pkg refresh pkg install developer/gcc48 \ developer/build/autoconf \ developer/build/automake \ @@ -31,25 +35,11 @@ omnios) system/header \ system/library/math \ archiver/gnu-tar \ + omniti/runtime/tcl-8 \ || RC=${?} if [[ ${RC} != 0 ]] && [[ ${RC} != 4 ]]; then exit 1 fi - if [[ ! -d /usr/local/lib/tcl8.6 ]]; then - rm -f tcl8.6.4-src.tar.gz - echo "downloading tcl" - wget -c -q ftp://ftp.tcl.tk/pub/tcl/tcl8_6/tcl8.6.4-src.tar.gz - echo "extracting tcl" - gtar xzf tcl8.6.4-src.tar.gz - cd tcl8.6.4/unix - echo "building tcl" - ./configure --prefix=/usr/local >configure.out 2>&1 || (cat configure.out && exit 1) - make >make.out 2>&1 || (cat make.out && exit 1) - echo "installing tcl" - make install >make.install.out 2>&1 || (cat make.install.out && exit 1) - else - echo "tcl is already installed" - fi ;; *) echo "no config for ${1}" From 1f1a3e993d83f57921b4dd1f5848a0cad64ffed5 Mon Sep 17 00:00:00 2001 From: Christoph Keller Date: Sat, 20 Feb 2016 10:48:36 +0100 Subject: [PATCH 7/8] added license information --- contrib/vagrant-setup.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/contrib/vagrant-setup.sh b/contrib/vagrant-setup.sh index 66aa0302ba3..7202b369e41 100644 --- a/contrib/vagrant-setup.sh +++ b/contrib/vagrant-setup.sh @@ -1,5 +1,21 @@ #!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + set -e set -o pipefail From c91190429eaece6f1933dd8589ca0aec259397bc Mon Sep 17 00:00:00 2001 From: Christoph Keller Date: Fri, 26 Feb 2016 07:51:03 +0100 Subject: [PATCH 8/8] added optional dependencies --- contrib/vagrant-setup.sh | 56 +++++++++++++++++++++++++++++++++------- 1 file changed, 46 insertions(+), 10 deletions(-) diff --git a/contrib/vagrant-setup.sh b/contrib/vagrant-setup.sh index 7202b369e41..018e53c0fa5 100644 --- a/contrib/vagrant-setup.sh +++ b/contrib/vagrant-setup.sh @@ -23,10 +23,44 @@ case ${1} in trusty*|jessie*) sed -i 's/^mesg n$/tty -s \&\& mesg n/g' /root/.profile apt-get update - apt-get install -y build-essential autoconf libpcre3-dev libssl-dev tcl-dev libxml2-dev + apt-get install -y \ + autoconf \ + automake \ + build-essential \ + clang \ + libcap-dev \ + libcurl4-openssl-dev \ + libexpat-dev \ + libhwloc-dev \ + liblua5.2-dev \ + libpcre3-dev \ + libssl-dev \ + libxml2-dev \ + m4 \ + ncurses-dev \ + tcl-dev + ;; centos*) - yum install -y autoconf gcc gcc-c++ pcre-devel openssl-devel tcl-devel libxml2-devel + yum install -y \ + autoconf \ + automake \ + clang \ + expat-devel \ + flex \ + gcc \ + gcc-c++ \ + hwloc-devel \ + libcap-devel \ + libcurl-devel d\ + libtool \ + libxml2-devel \ + lua-devel \ + m4 \ + ncurses-devel \ + openssl-devel \ + pcre-devel \ + tcl-devel ;; omnios) export PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/gcc-4.8.1/bin @@ -36,22 +70,24 @@ omnios) pkg set-publisher -g http://pkg.omniti.com/omniti-ms/ ms.omniti.com fi pkg refresh - pkg install developer/gcc48 \ + pkg install \ + archiver/gnu-tar \ developer/build/autoconf \ developer/build/automake \ - developer/lexer/flex \ - developer/parser/bison \ - developer/object-file \ - developer/linker \ - developer/library/lint \ developer/build/gnu-make \ developer/build/libtool \ + developer/gcc48 \ + developer/lexer/flex \ + developer/library/lint \ + developer/linker \ + developer/object-file \ + developer/parser/bison \ library/idnkit \ library/idnkit/header-idnkit \ + omniti/runtime/tcl-8 \ + omniti/system/hwloc \ system/header \ system/library/math \ - archiver/gnu-tar \ - omniti/runtime/tcl-8 \ || RC=${?} if [[ ${RC} != 0 ]] && [[ ${RC} != 4 ]]; then exit 1