Updated Branches: refs/heads/master 95bac804e -> 4f875876f
BIGTOP-1063. Add Scala 2.9.3 to bigtop-toolchain Signed-off-by: Konstantin Boudnik <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/4f875876 Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/4f875876 Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/4f875876 Branch: refs/heads/master Commit: 4f875876f924c17b62a6ce53249c2c31aa738602 Parents: 95bac80 Author: Ian Mordey <[email protected]> Authored: Thu Sep 12 08:53:00 2013 -0700 Committer: Konstantin Boudnik <[email protected]> Committed: Thu Sep 12 08:53:00 2013 -0700 ---------------------------------------------------------------------- bigtop-toolchain/README.md | 84 ------------------ bigtop-toolchain/files/jenkins.sh.centos | 22 ----- bigtop-toolchain/files/jenkins.sh.ubu | 22 ----- bigtop-toolchain/files/mrdocs-protobuf-rpm.repo | 21 ----- bigtop-toolchain/manifests/ant.pp | 32 ------- bigtop-toolchain/manifests/deps.pp | 38 --------- bigtop-toolchain/manifests/env.pp | 38 --------- bigtop-toolchain/manifests/forrest.pp | 32 ------- bigtop-toolchain/manifests/installer.pp | 25 ------ bigtop-toolchain/manifests/jdk.pp | 71 ---------------- bigtop-toolchain/manifests/maven.pp | 32 ------- bigtop-toolchain/manifests/packages.pp | 25 ------ bigtop-toolchain/manifests/protobuf.pp | 36 -------- bigtop-toolchain/manifests/user.pp | 45 ---------- bigtop_toolchain/README.md | 89 ++++++++++++++++++++ bigtop_toolchain/files/jenkins.sh.centos | 23 +++++ bigtop_toolchain/files/jenkins.sh.ubu | 23 +++++ bigtop_toolchain/files/mrdocs-protobuf-rpm.repo | 21 +++++ bigtop_toolchain/manifests/ant.pp | 32 +++++++ bigtop_toolchain/manifests/deps.pp | 48 +++++++++++ bigtop_toolchain/manifests/env.pp | 38 +++++++++ bigtop_toolchain/manifests/forrest.pp | 32 +++++++ bigtop_toolchain/manifests/installer.pp | 26 ++++++ bigtop_toolchain/manifests/jdk.pp | 71 ++++++++++++++++ bigtop_toolchain/manifests/maven.pp | 32 +++++++ bigtop_toolchain/manifests/packages.pp | 25 ++++++ bigtop_toolchain/manifests/protobuf.pp | 36 ++++++++ bigtop_toolchain/manifests/scala.pp | 36 ++++++++ bigtop_toolchain/manifests/user.pp | 45 ++++++++++ 29 files changed, 577 insertions(+), 523 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/README.md ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/README.md b/bigtop-toolchain/README.md deleted file mode 100644 index 78920c5..0000000 --- a/bigtop-toolchain/README.md +++ /dev/null @@ -1,84 +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. - -bigtop-toolchain -=============== - -##BigTop Toolchain Deployment through Puppet - -Ian Mordey <[email protected]> - -Puppet module for configuring a CentOS host for building BigTop. It installs: - -**Apache Ant 1.9.2** - -**Apache Forrest 0.9** - -**Oracle JDK 1.6u43** - -**Apache Maven 3.0.5** - -**Protobuf 2.4.1** - -##Usage - -These can be indivdually applied using: - - - node "node1.example.com" { - include bigtop-toolchain::jdk - include bigtop-toolchain::maven - include bigtop-toolchain::forrest - include bigtop-toolchain::ant - include bigtop-toolchain::protobuf - include bigtop-toolchain::packages - include bigtop-toolchain::env - include bigtop-toolchain::user - } - -Or installed as a whole with: - - node "node2.example.com" { - include bigtop-toolchain::installer - } - -It will create a user jenkins with the required environment variables set for building BigTop: - - MAVEN_HOME=/usr/local/maven - PATH=$PATH:$MAVEN_HOME/bin - JAVA_HOME=/usr/java/latest - ANT_HOME=/usr/local/ant - PATH=$PATH:$ANT_HOME/bin - FORREST_HOME=/usr/local/apache-forrest - PATH=$PATH:$FORREST_HOME/bin - -If you do not want to use a puppet master this module can be applied standalone with a command such as: - - puppet apply --modulepath=<path_to_bigtop> -e "include bigtop-toolchain::installer" - -where <path_to_bigtop> is the cloned git repo. - -## Requirements - -Due to redistribution restrictions the Oracle JDK must be downloaded seperately. - -Download the JDK 64bit rpm.bin file, run it with the -x switch to extract the rpm file and copy jdk-6u45-linux-amd64.rpm to files/. - -The Ant/Maven/Forrest sources will be downloaded automatically. If you already have them and do not want to download them again please copy the source .tar.gz files into /usr/src. - -## Support - -License: Apache License, Version 2.0 - http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/files/jenkins.sh.centos ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/files/jenkins.sh.centos b/bigtop-toolchain/files/jenkins.sh.centos deleted file mode 100644 index a83c158..0000000 --- a/bigtop-toolchain/files/jenkins.sh.centos +++ /dev/null @@ -1,22 +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. - -export MAVEN_HOME=/usr/local/maven -export PATH=$PATH:$MAVEN_HOME/bin -export JAVA_HOME=/usr/java/latest -export ANT_HOME=/usr/local/ant -export PATH=$PATH:$ANT_HOME/bin -export FORREST_HOME=/usr/local/apache-forrest -export PATH=$PATH:$FORREST_HOME/bin http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/files/jenkins.sh.ubu ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/files/jenkins.sh.ubu b/bigtop-toolchain/files/jenkins.sh.ubu deleted file mode 100644 index 098e6e5..0000000 --- a/bigtop-toolchain/files/jenkins.sh.ubu +++ /dev/null @@ -1,22 +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. - -export MAVEN_HOME=/usr/local/maven -export PATH=$PATH:$MAVEN_HOME/bin -export JAVA_HOME=/usr/lib/jvm/java-6-oracle -export ANT_HOME=/usr/local/ant -export PATH=$PATH:$ANT_HOME/bin -export FORREST_HOME=/usr/local/apache-forrest -export PATH=$PATH:$FORREST_HOME/bin http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/files/mrdocs-protobuf-rpm.repo ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/files/mrdocs-protobuf-rpm.repo b/bigtop-toolchain/files/mrdocs-protobuf-rpm.repo deleted file mode 100644 index af7630f..0000000 --- a/bigtop-toolchain/files/mrdocs-protobuf-rpm.repo +++ /dev/null @@ -1,21 +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. -[home_mrdocs_protobuf-rpm] -name=home:mrdocs:protobuf-rpm (CentOS_CentOS-6) -type=rpm-md -baseurl=http://download.opensuse.org/repositories/home:/mrdocs:/protobuf-rpm/CentOS_CentOS-6/ -gpgcheck=1 -gpgkey=http://download.opensuse.org/repositories/home:/mrdocs:/protobuf-rpm/CentOS_CentOS-6/repodata/repomd.xml.key -enabled=1 http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/manifests/ant.pp ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/manifests/ant.pp b/bigtop-toolchain/manifests/ant.pp deleted file mode 100644 index 01a6175..0000000 --- a/bigtop-toolchain/manifests/ant.pp +++ /dev/null @@ -1,32 +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. - -class bigtop-toolchain::ant { - - include bigtop-toolchain::deps - - exec {'/bin/tar xvzf /usr/src/apache-ant-1.9.2-bin.tar.gz': - cwd => '/usr/local', - refreshonly => true, - subscribe => Exec["/usr/bin/wget http://mirrors.ibiblio.org/apache//ant/binaries/apache-ant-1.9.2-bin.tar.gz"], - require => Exec["/usr/bin/wget http://mirrors.ibiblio.org/apache//ant/binaries/apache-ant-1.9.2-bin.tar.gz"], - } - - file {'/usr/local/ant': - ensure => link, - target => '/usr/local/apache-ant-1.9.2', - require => Exec['/bin/tar xvzf /usr/src/apache-ant-1.9.2-bin.tar.gz'], - } -} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/manifests/deps.pp ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/manifests/deps.pp b/bigtop-toolchain/manifests/deps.pp deleted file mode 100644 index bf1e502..0000000 --- a/bigtop-toolchain/manifests/deps.pp +++ /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. -class bigtop-toolchain::deps { - - package { "wget": - ensure => latest, - } - - exec {"/usr/bin/wget http://mirrors.ibiblio.org/apache//ant/binaries/apache-ant-1.9.2-bin.tar.gz": - cwd => "/usr/src", - require => Package["wget"], - unless => "/usr/bin/test -f /usr/src/apache-ant-1.9.2-bin.tar.gz", - } - - exec {"/usr/bin/wget http://archive.apache.org/dist/forrest/0.9/apache-forrest-0.9.tar.gz": - cwd => "/usr/src", - require => Package["wget"], - unless => "/usr/bin/test -f /usr/src/apache-forrest-0.9.tar.gz", - } - - exec {"/usr/bin/wget ftp://mirror.reverse.net/pub/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz": - cwd => "/usr/src", - require => Package["wget"], - unless => "/usr/bin/test -f /usr/src/apache-maven-3.0.5-bin.tar.gz", - } -} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/manifests/env.pp ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/manifests/env.pp b/bigtop-toolchain/manifests/env.pp deleted file mode 100644 index f7c3998..0000000 --- a/bigtop-toolchain/manifests/env.pp +++ /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. - -class bigtop-toolchain::env { - case $operatingsystem{ - Ubuntu: { - file { '/etc/profile.d/bigtop.sh': - source => 'puppet:///modules/bigtop-toolchain/jenkins.sh.ubu', - ensure => present, - owner => root, - group => root, - mode => 644, - } - } - default: { - file {'/etc/profile.d/bigtop.sh': - source => 'puppet:///modules/bigtop-toolchain/jenkins.sh.ubu', - ensure => present, - owner => root, - group => root, - mode => 644, - } - } - } -} - http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/manifests/forrest.pp ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/manifests/forrest.pp b/bigtop-toolchain/manifests/forrest.pp deleted file mode 100644 index 5ff39d5..0000000 --- a/bigtop-toolchain/manifests/forrest.pp +++ /dev/null @@ -1,32 +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. - -class bigtop-toolchain::forrest { - - include bigtop-toolchain::deps - - exec{'/bin/tar xvzf /usr/src/apache-forrest-0.9.tar.gz': - cwd => '/usr/local', - require => Exec["/usr/bin/wget http://archive.apache.org/dist/forrest/0.9/apache-forrest-0.9.tar.gz"], - refreshonly => true, - subscribe => Exec["/usr/bin/wget http://archive.apache.org/dist/forrest/0.9/apache-forrest-0.9.tar.gz"], - } - - file { '/usr/local/apache-forrest': - ensure => link, - target => '/usr/local/apache-forrest-0.9', - require => Exec['/bin/tar xvzf /usr/src/apache-forrest-0.9.tar.gz'], - } -} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/manifests/installer.pp ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/manifests/installer.pp b/bigtop-toolchain/manifests/installer.pp deleted file mode 100644 index fe7d2d8..0000000 --- a/bigtop-toolchain/manifests/installer.pp +++ /dev/null @@ -1,25 +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. - -class bigtop-toolchain::installer { - include bigtop-toolchain::jdk - include bigtop-toolchain::maven - include bigtop-toolchain::forrest - include bigtop-toolchain::ant - include bigtop-toolchain::protobuf - include bigtop-toolchain::packages - include bigtop-toolchain::env - include bigtop-toolchain::user -} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/manifests/jdk.pp ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/manifests/jdk.pp b/bigtop-toolchain/manifests/jdk.pp deleted file mode 100644 index 2c4d68c..0000000 --- a/bigtop-toolchain/manifests/jdk.pp +++ /dev/null @@ -1,71 +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. - -class bigtop-toolchain::jdk { - case $::lsbdistcodename{ - precise: { - package {'python-software-properties': - ensure => present, - } - - exec {'/usr/bin/apt-add-repository -y ppa:webupd8team/java': - unless => '/usr/bin/test -f /etc/apt/sources.list.d/webupd8team-java-precise.list', - require => Package['python-software-properties'], - } - - exec {'/usr/bin/apt-get update': - refreshonly => true, - subscribe => Exec['/usr/bin/apt-add-repository -y ppa:webupd8team/java'], - require => Exec['/usr/bin/apt-add-repository -y ppa:webupd8team/java'], - } - - exec {"accept-license1": - command => "echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections", - path => ["/bin", "/usr/bin"], - require => Exec['/usr/bin/apt-get update'], - refreshonly => true, - subscribe => Exec['/usr/bin/apt-get update'], - } - - exec {"accept-license2": - command => "echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections", - path => ["/bin", "/usr/bin"], - require => Exec["accept-license1"], - refreshonly => true, - subscribe => Exec["accept-license1"], - } - - package {'oracle-java6-installer': - ensure => present, - require => Exec["accept-license2"], - } - } - default: { - file { '/tmp/jdk-6u45-linux-amd64.rpm': - source => 'puppet:///modules/bigtop-toolchain/jdk-6u45-linux-amd64.rpm', - ensure => present, - owner => root, - group => root, - mode => 755 - } - - exec {'/bin/rpm -Uvh /tmp/jdk-6u45-linux-amd64.rpm': - cwd => '/tmp', - refreshonly => true, - subscribe => File["/tmp/jdk-6u45-linux-amd64.rpm"], - } - } - } -} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/manifests/maven.pp ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/manifests/maven.pp b/bigtop-toolchain/manifests/maven.pp deleted file mode 100644 index 3f7f4a9..0000000 --- a/bigtop-toolchain/manifests/maven.pp +++ /dev/null @@ -1,32 +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. - -class bigtop-toolchain::maven { - - include bigtop-toolchain::deps - - exec {'/bin/tar xvzf /usr/src/apache-maven-3.0.5-bin.tar.gz': - cwd => '/usr/local', - refreshonly => true, - subscribe => Exec["/usr/bin/wget ftp://mirror.reverse.net/pub/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz"], - require => Exec["/usr/bin/wget ftp://mirror.reverse.net/pub/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz"], - } - - file {'/usr/local/maven': - ensure => link, - target => '/usr/local/apache-maven-3.0.5', - require => Exec['/bin/tar xvzf /usr/src/apache-maven-3.0.5-bin.tar.gz'], - } -} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/manifests/packages.pp ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/manifests/packages.pp b/bigtop-toolchain/manifests/packages.pp deleted file mode 100644 index 012e9e9..0000000 --- a/bigtop-toolchain/manifests/packages.pp +++ /dev/null @@ -1,25 +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. - -class bigtop-toolchain::packages { - case $operatingsystem{ - centos: { $pkgs = [ "wget", "git", "make" , "cmake" , "rpm-build" , "lzo-devel", "redhat-rpm-config", "openssl-devel", "fuse-libs", "fuse-devel", "fuse", "gcc", "gcc-c++", "autoconf", "automake", "libtool"] } - SLES: { $pkgs = [ "wget", "git", "make" , "cmake" , "rpm-devel" , "lzo-devel", "libopenssl-devel", "fuse-devel", "fuse", "gcc", "gcc-c++", "autoconf", "automake", "libtool", "pkg-config"] } - Ubuntu: { $pkgs = [ "liblzo2-dev", "libzip-dev", "sharutils", "libfuse-dev", "cmake", "pkg-config", "debhelper", "devscripts", "protobuf-compiler", "build-essential", "dh-make", "reprepro", "automake", "autoconf", "libfuse2", "libssh-dev", "asciidoc" ] } -} - package { $pkgs: - ensure => installed, - } -} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/manifests/protobuf.pp ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/manifests/protobuf.pp b/bigtop-toolchain/manifests/protobuf.pp deleted file mode 100644 index d2517b1..0000000 --- a/bigtop-toolchain/manifests/protobuf.pp +++ /dev/null @@ -1,36 +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. - -class bigtop-toolchain::protobuf { - case $operatingsystem{ - Ubuntu: { - notify {"Ubuntu provides protobuf in repo":} - } - default:{ - file { '/etc/yum.repos.d/mrdocs-protobuf-rpm.repo': - source => 'puppet:///modules/bigtop-toolchain/mrdocs-protobuf-rpm.repo', - ensure => present, - owner => root, - group => root, - mode => 755, - } - - package { 'protobuf-devel': - ensure => present, - require => File['/etc/yum.repos.d/mrdocs-protobuf-rpm.repo'], - } - } - } -} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop-toolchain/manifests/user.pp ---------------------------------------------------------------------- diff --git a/bigtop-toolchain/manifests/user.pp b/bigtop-toolchain/manifests/user.pp deleted file mode 100644 index 32259b4..0000000 --- a/bigtop-toolchain/manifests/user.pp +++ /dev/null @@ -1,45 +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. - -class bigtop-toolchain::user { - - user { 'jenkins': - ensure => present, - home => '/var/lib/jenkins', - managehome => true, - gid => 'jenkins', - require => Group['jenkins'], - } - - group { 'jenkins': - ensure => present, - } - - file {"/var/lib/jenkins/.m2": - ensure => directory, - owner => 'jenkins', - group => 'jenkins', - mode => 755, - require => User['jenkins'], - } - - file {"/var/lib/jenkins/.ssh": - ensure => directory, - owner => 'jenkins', - group => 'jenkins', - mode => 600, - require => User['jenkins'], - } -} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/README.md ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/README.md b/bigtop_toolchain/README.md new file mode 100644 index 0000000..3cd2c62 --- /dev/null +++ b/bigtop_toolchain/README.md @@ -0,0 +1,89 @@ +# 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. + +bigtop-toolchain +=============== + +##BigTop Toolchain Deployment through Puppet + +Ian Mordey <[email protected]> + +Puppet module for configuring a CentOS host for building BigTop. It installs: + +**Apache Ant 1.9.2** + +**Apache Forrest 0.9** + +**Oracle JDK 1.6u45** + +**Apache Maven 3.0.5** + +**Protobuf 2.4.1** + +##Usage + +These can be indivdually applied using: + + + node "node1.example.com" { + include bigtop_toolchain::jdk + include bigtop_toolchain::maven + include bigtop_toolchain::forrest + include bigtop_toolchain::ant + include bigtop_toolchain::protobuf + include bigtop_toolchain::packages + include bigtop_toolchain::env + include bigtop_toolchain::user + } + +Or installed as a whole with: + + node "node2.example.com" { + include bigtop_toolchain::installer + } + +It will create a user jenkins with the required environment variables set for +building BigTop: + + MAVEN_HOME=/usr/local/maven + PATH=$PATH:$MAVEN_HOME/bin + JAVA_HOME=/usr/java/latest + ANT_HOME=/usr/local/ant + PATH=$PATH:$ANT_HOME/bin + FORREST_HOME=/usr/local/apache-forrest + PATH=$PATH:$FORREST_HOME/bin + +If you do not want to use a puppet master this module can be applied +standalone with a command such as: + + puppet apply --modulepath=<path_to_bigtop> -e "include bigtop_toolchain::installer" + +where <path_to_bigtop> is the cloned git repo. + +## Requirements + +Due to redistribution restrictions the Oracle JDK must be downloaded seperately. + +Download the JDK 64bit rpm.bin file, run it with the -x switch to extract the +rpm file and copy jdk-6u45-linux-amd64.rpm to files/. + +The Ant/Maven/Forrest sources will be downloaded automatically. If you already +have them and do not want to download them again please copy the source +.tar.gz files into /usr/src. + +## Support + +License: Apache License, Version 2.0 + http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/files/jenkins.sh.centos ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/files/jenkins.sh.centos b/bigtop_toolchain/files/jenkins.sh.centos new file mode 100644 index 0000000..ebe2228 --- /dev/null +++ b/bigtop_toolchain/files/jenkins.sh.centos @@ -0,0 +1,23 @@ +# 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. + +export MAVEN_HOME=/usr/local/maven +export PATH=$PATH:$MAVEN_HOME/bin +export JAVA_HOME=/usr/java/latest +export ANT_HOME=/usr/local/ant +export PATH=$PATH:$ANT_HOME/bin +export FORREST_HOME=/usr/local/apache-forrest +export SCALA_HOME=/usr/share/java +export PATH=$PATH:$FORREST_HOME/bin http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/files/jenkins.sh.ubu ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/files/jenkins.sh.ubu b/bigtop_toolchain/files/jenkins.sh.ubu new file mode 100644 index 0000000..e2246b4 --- /dev/null +++ b/bigtop_toolchain/files/jenkins.sh.ubu @@ -0,0 +1,23 @@ +# 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. + +export MAVEN_HOME=/usr/local/maven +export PATH=$PATH:$MAVEN_HOME/bin +export JAVA_HOME=/usr/lib/jvm/java-6-oracle +export ANT_HOME=/usr/local/ant +export PATH=$PATH:$ANT_HOME/bin +export FORREST_HOME=/usr/local/apache-forrest +export SCALA_HOME=/usr/share/java +export PATH=$PATH:$FORREST_HOME/bin http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/files/mrdocs-protobuf-rpm.repo ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/files/mrdocs-protobuf-rpm.repo b/bigtop_toolchain/files/mrdocs-protobuf-rpm.repo new file mode 100644 index 0000000..af7630f --- /dev/null +++ b/bigtop_toolchain/files/mrdocs-protobuf-rpm.repo @@ -0,0 +1,21 @@ +# 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. +[home_mrdocs_protobuf-rpm] +name=home:mrdocs:protobuf-rpm (CentOS_CentOS-6) +type=rpm-md +baseurl=http://download.opensuse.org/repositories/home:/mrdocs:/protobuf-rpm/CentOS_CentOS-6/ +gpgcheck=1 +gpgkey=http://download.opensuse.org/repositories/home:/mrdocs:/protobuf-rpm/CentOS_CentOS-6/repodata/repomd.xml.key +enabled=1 http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/manifests/ant.pp ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/manifests/ant.pp b/bigtop_toolchain/manifests/ant.pp new file mode 100644 index 0000000..2a268f1 --- /dev/null +++ b/bigtop_toolchain/manifests/ant.pp @@ -0,0 +1,32 @@ +# 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. + +class bigtop_toolchain::ant { + + include bigtop_toolchain::deps + + exec {'/bin/tar xvzf /usr/src/apache-ant-1.9.2-bin.tar.gz': + cwd => '/usr/local', + refreshonly => true, + subscribe => Exec["/usr/bin/wget http://mirrors.ibiblio.org/apache//ant/binaries/apache-ant-1.9.2-bin.tar.gz"], + require => Exec["/usr/bin/wget http://mirrors.ibiblio.org/apache//ant/binaries/apache-ant-1.9.2-bin.tar.gz"], + } + + file {'/usr/local/ant': + ensure => link, + target => '/usr/local/apache-ant-1.9.2', + require => Exec['/bin/tar xvzf /usr/src/apache-ant-1.9.2-bin.tar.gz'], + } +} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/manifests/deps.pp ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/manifests/deps.pp b/bigtop_toolchain/manifests/deps.pp new file mode 100644 index 0000000..2003394 --- /dev/null +++ b/bigtop_toolchain/manifests/deps.pp @@ -0,0 +1,48 @@ +# 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. +class bigtop_toolchain::deps { + + include bigtop_toolchain::packages + include bigtop_toolchain::jdk + + case $operatingsystem{ + Ubuntu: { $scala_file = 'scala-2.9.3.deb' } + default: { $scala_file = 'scala-2.9.3.rpm'} + } + + exec {"/usr/bin/wget http://www.scala-lang.org/files/archive/$scala_file": + cwd => "/usr/src", + require => Package[$packages::pkgs], + unless => "/usr/bin/test -f /usr/src/$scala_file", + } + + exec {"/usr/bin/wget http://mirrors.ibiblio.org/apache//ant/binaries/apache-ant-1.9.2-bin.tar.gz": + cwd => "/usr/src", + require => Package[$packages::pkgs], + unless => "/usr/bin/test -f /usr/src/apache-ant-1.9.2-bin.tar.gz", + } + + exec {"/usr/bin/wget http://archive.apache.org/dist/forrest/0.9/apache-forrest-0.9.tar.gz": + cwd => "/usr/src", + require => Package[$packages::pkgs], + unless => "/usr/bin/test -f /usr/src/apache-forrest-0.9.tar.gz", + } + + exec {"/usr/bin/wget ftp://mirror.reverse.net/pub/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz": + cwd => "/usr/src", + require => Package[$packages::pkgs], + unless => "/usr/bin/test -f /usr/src/apache-maven-3.0.5-bin.tar.gz", + } +} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/manifests/env.pp ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/manifests/env.pp b/bigtop_toolchain/manifests/env.pp new file mode 100644 index 0000000..61af2a6 --- /dev/null +++ b/bigtop_toolchain/manifests/env.pp @@ -0,0 +1,38 @@ +# 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. + +class bigtop_toolchain::env { + case $operatingsystem{ + Ubuntu: { + file { '/etc/profile.d/bigtop.sh': + source => 'puppet:///modules/bigtop_toolchain/jenkins.sh.ubu', + ensure => present, + owner => root, + group => root, + mode => 644, + } + } + default: { + file {'/etc/profile.d/bigtop.sh': + source => 'puppet:///modules/bigtop_toolchain/jenkins.sh.centos', + ensure => present, + owner => root, + group => root, + mode => 644, + } + } + } +} + http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/manifests/forrest.pp ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/manifests/forrest.pp b/bigtop_toolchain/manifests/forrest.pp new file mode 100644 index 0000000..1086ba5 --- /dev/null +++ b/bigtop_toolchain/manifests/forrest.pp @@ -0,0 +1,32 @@ +# 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. + +class bigtop_toolchain::forrest { + + include bigtop_toolchain::deps + + exec{'/bin/tar xvzf /usr/src/apache-forrest-0.9.tar.gz': + cwd => '/usr/local', + require => Exec["/usr/bin/wget http://archive.apache.org/dist/forrest/0.9/apache-forrest-0.9.tar.gz"], + refreshonly => true, + subscribe => Exec["/usr/bin/wget http://archive.apache.org/dist/forrest/0.9/apache-forrest-0.9.tar.gz"], + } + + file { '/usr/local/apache-forrest': + ensure => link, + target => '/usr/local/apache-forrest-0.9', + require => Exec['/bin/tar xvzf /usr/src/apache-forrest-0.9.tar.gz'], + } +} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/manifests/installer.pp ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/manifests/installer.pp b/bigtop_toolchain/manifests/installer.pp new file mode 100644 index 0000000..ee7a620 --- /dev/null +++ b/bigtop_toolchain/manifests/installer.pp @@ -0,0 +1,26 @@ +# 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. + +class bigtop_toolchain::installer { + include bigtop_toolchain::jdk + include bigtop_toolchain::maven + include bigtop_toolchain::forrest + include bigtop_toolchain::ant + include bigtop_toolchain::protobuf + include bigtop_toolchain::packages + include bigtop_toolchain::env + include bigtop_toolchain::user + include bigtop_toolchain::scala +} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/manifests/jdk.pp ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/manifests/jdk.pp b/bigtop_toolchain/manifests/jdk.pp new file mode 100644 index 0000000..a91f0ec --- /dev/null +++ b/bigtop_toolchain/manifests/jdk.pp @@ -0,0 +1,71 @@ +# 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. + +class bigtop_toolchain::jdk { + case $::lsbdistcodename{ + precise: { + package {'python-software-properties': + ensure => present, + } + + exec {'/usr/bin/apt-add-repository -y ppa:webupd8team/java': + unless => '/usr/bin/test -f /etc/apt/sources.list.d/webupd8team-java-precise.list', + require => Package['python-software-properties'], + } + + exec {'/usr/bin/apt-get update': + refreshonly => true, + subscribe => Exec['/usr/bin/apt-add-repository -y ppa:webupd8team/java'], + require => Exec['/usr/bin/apt-add-repository -y ppa:webupd8team/java'], + } + + exec {"accept-license1": + command => "echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections", + path => ["/bin", "/usr/bin"], + require => Exec['/usr/bin/apt-get update'], + refreshonly => true, + subscribe => Exec['/usr/bin/apt-get update'], + } + + exec {"accept-license2": + command => "echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections", + path => ["/bin", "/usr/bin"], + require => Exec["accept-license1"], + refreshonly => true, + subscribe => Exec["accept-license1"], + } + + package {'oracle-java6-installer': + ensure => present, + require => Exec["accept-license2"], + } + } + default: { + file { '/tmp/jdk-6u45-linux-amd64.rpm': + source => 'puppet:///modules/bigtop_toolchain/jdk-6u45-linux-amd64.rpm', + ensure => present, + owner => root, + group => root, + mode => 755 + } + + exec {'/bin/rpm -Uvh /tmp/jdk-6u45-linux-amd64.rpm': + cwd => '/tmp', + refreshonly => true, + subscribe => File["/tmp/jdk-6u45-linux-amd64.rpm"], + } + } + } +} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/manifests/maven.pp ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/manifests/maven.pp b/bigtop_toolchain/manifests/maven.pp new file mode 100644 index 0000000..e0f046b --- /dev/null +++ b/bigtop_toolchain/manifests/maven.pp @@ -0,0 +1,32 @@ +# 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. + +class bigtop_toolchain::maven { + + include bigtop_toolchain::deps + + exec {'/bin/tar xvzf /usr/src/apache-maven-3.0.5-bin.tar.gz': + cwd => '/usr/local', + refreshonly => true, + subscribe => Exec["/usr/bin/wget ftp://mirror.reverse.net/pub/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz"], + require => Exec["/usr/bin/wget ftp://mirror.reverse.net/pub/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz"], + } + + file {'/usr/local/maven': + ensure => link, + target => '/usr/local/apache-maven-3.0.5', + require => Exec['/bin/tar xvzf /usr/src/apache-maven-3.0.5-bin.tar.gz'], + } +} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/manifests/packages.pp ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/manifests/packages.pp b/bigtop_toolchain/manifests/packages.pp new file mode 100644 index 0000000..d2b706b --- /dev/null +++ b/bigtop_toolchain/manifests/packages.pp @@ -0,0 +1,25 @@ +# 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. + +class bigtop_toolchain::packages { + case $operatingsystem{ + centos: { $pkgs = [ "wget", "git", "make" , "cmake" , "rpm-build" , "lzo-devel", "redhat-rpm-config", "openssl-devel", "fuse-libs", "fuse-devel", "fuse", "gcc", "gcc-c++", "autoconf", "automake", "libtool"] } + SLES: { $pkgs = [ "wget", "git", "make" , "cmake" , "rpm-devel" , "lzo-devel", "libopenssl-devel", "fuse-devel", "fuse", "gcc", "gcc-c++", "autoconf", "automake", "libtool", "pkg-config"] } + Ubuntu: { $pkgs = [ "liblzo2-dev", "libzip-dev", "sharutils", "libfuse-dev", "cmake", "pkg-config", "debhelper", "devscripts", "protobuf-compiler", "build-essential", "dh-make", "reprepro", "automake", "autoconf", "libfuse2", "libssh-dev", "asciidoc", "libjansi-java" ] } +} + package { $pkgs: + ensure => installed, + } +} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/manifests/protobuf.pp ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/manifests/protobuf.pp b/bigtop_toolchain/manifests/protobuf.pp new file mode 100644 index 0000000..2882098 --- /dev/null +++ b/bigtop_toolchain/manifests/protobuf.pp @@ -0,0 +1,36 @@ +# 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. + +class bigtop_toolchain::protobuf { + case $operatingsystem{ + Ubuntu: { + notify {"Ubuntu provides protobuf in repo":} + } + default:{ + file { '/etc/yum.repos.d/mrdocs-protobuf-rpm.repo': + source => 'puppet:///modules/bigtop_toolchain/mrdocs-protobuf-rpm.repo', + ensure => present, + owner => root, + group => root, + mode => 755, + } + + package { 'protobuf-devel': + ensure => present, + require => File['/etc/yum.repos.d/mrdocs-protobuf-rpm.repo'], + } + } + } +} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/manifests/scala.pp ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/manifests/scala.pp b/bigtop_toolchain/manifests/scala.pp new file mode 100644 index 0000000..90b88e0 --- /dev/null +++ b/bigtop_toolchain/manifests/scala.pp @@ -0,0 +1,36 @@ +# 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. +class bigtop_toolchain::scala { + + include bigtop_toolchain::deps + + case $operatingsystem{ + Ubuntu: { + $pm = '/usr/bin/dpkg -i' + $requires = [ Exec["/usr/bin/wget http://www.scala-lang.org/files/archive/$bigtop_toolchain::deps::scala_file"], Package ['oracle-java6-installer'] ] + } + default: { + $pm = '/bin/rpm -Uvh' + $requires = Exec["/usr/bin/wget http://www.scala-lang.org/files/archive/$bigtop_toolchain::deps::scala_file"] + } + } + + exec {"$pm /usr/src/$bigtop_toolchain::deps::scala_file": + unless => "/usr/bin/test -f /usr/bin/scala", + #require => Exec["/usr/bin/wget http://www.scala-lang.org/files/archive/$bigtop_toolchain::deps::scala_file"], + require => $requires + } + +} http://git-wip-us.apache.org/repos/asf/bigtop/blob/4f875876/bigtop_toolchain/manifests/user.pp ---------------------------------------------------------------------- diff --git a/bigtop_toolchain/manifests/user.pp b/bigtop_toolchain/manifests/user.pp new file mode 100644 index 0000000..b6b7787 --- /dev/null +++ b/bigtop_toolchain/manifests/user.pp @@ -0,0 +1,45 @@ +# 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. + +class bigtop_toolchain::user { + + user { 'jenkins': + ensure => present, + home => '/var/lib/jenkins', + managehome => true, + gid => 'jenkins', + require => Group['jenkins'], + } + + group { 'jenkins': + ensure => present, + } + + file {"/var/lib/jenkins/.m2": + ensure => directory, + owner => 'jenkins', + group => 'jenkins', + mode => 755, + require => User['jenkins'], + } + + file {"/var/lib/jenkins/.ssh": + ensure => directory, + owner => 'jenkins', + group => 'jenkins', + mode => 600, + require => User['jenkins'], + } +}
