From ec10840c2bffb5f3123113911ed8d459c415ec1a Mon Sep 17 00:00:00 2001
From: Chris Hines <chris.hines@monash.edu>
Date: Wed, 29 Apr 2015 00:42:09 +0000
Subject: [PATCH] incomplete strudel_build role. Use as a base to make strudel
 build on all linux OS

---
 roles/strudel_build/tasks/main.yml            | 50 +++++++++++++
 .../strudel_build/vars/CentOS_6.5_x86_64.yml  | 72 +++++++++++++++++++
 roles/strudel_build/vars/Fedora_19_x86_64.yml | 71 ++++++++++++++++++
 roles/strudel_build/vars/Fedora_20_x86_64.yml | 71 ++++++++++++++++++
 .../vars/Ubuntu_12.04_x86_64.yml              | 19 +++++
 .../vars/Ubuntu_14.04_x86_64.yml              | 18 +++++
 6 files changed, 301 insertions(+)
 create mode 100644 roles/strudel_build/tasks/main.yml
 create mode 100644 roles/strudel_build/vars/CentOS_6.5_x86_64.yml
 create mode 100644 roles/strudel_build/vars/Fedora_19_x86_64.yml
 create mode 100644 roles/strudel_build/vars/Fedora_20_x86_64.yml
 create mode 100644 roles/strudel_build/vars/Ubuntu_12.04_x86_64.yml
 create mode 100644 roles/strudel_build/vars/Ubuntu_14.04_x86_64.yml

diff --git a/roles/strudel_build/tasks/main.yml b/roles/strudel_build/tasks/main.yml
new file mode 100644
index 00000000..53cd0293
--- /dev/null
+++ b/roles/strudel_build/tasks/main.yml
@@ -0,0 +1,50 @@
+---
+
+- include_vars: "{{ hostvars[ansible_hostname]['ansible_distribution'] }}_{{ hostvars[ansible_hostname]['ansible_distribution_version'] }}_{{ ansible_architecture }}.yml"
+
+- name: install system packages apt
+  apt: name={{ item }} state=installed update_cache=true
+  sudo: true
+  with_items: system_packages
+  when: ansible_os_family == 'Debian'
+
+- name: install system packages yum
+  yum: name={{ item }} state=installed
+  sudo: true
+  with_items: system_packages
+  when: ansible_os_family == 'RedHat'
+
+
+- name: checkout strudel
+  git: repo=https://github.com/monash-merc/cvl-fabric-launcher.git dest=/tmp/strudel
+
+- name: update submodules
+  command: git submodule update chdir=/tmp/strudel
+
+- name: install pip packages
+  command: pip install {{ item }}
+  sudo: true
+  with_items: pip_packages
+  when: pip_packages is defined
+
+#- name: install pkg deps
+#  shell: /tmp/strudel/system_build_scripts/{{ install_prerequisites }} chdir=/tmp/strudel
+#  sudo: true
+#  when: ansible_os_family == 'RedHat'
+
+- name: build
+  shell: /tmp/strudel/{{ build_launcher }} chdir=/tmp/strudel
+
+- name: scan host
+  shell: ssh-keyscan cvl.massive.org.au >> ~/.ssh/known_hosts
+
+- name: ls package
+  shell: ls -l /tmp/strudel/{{ pkg_name }}
+
+#- name: copy package
+#  shell: rsync /tmp/strudel/{{ pkg_name }} root@cvl.massive.org.au:/tmp/strudel_{{ ansible_distribution }}_{{ ansible_distribution_version }}_{{ hostvars[ansible_hostname]['ansible_date_time']['date'] }}_x86_64.deb
+#  when: ansible_os_family == 'Debian'
+
+- name: copy package
+  shell: rsync {{ hostvars[ansible_hostname]['ansible_user_id'] }}@{{ ansible_ssh_host }}:/tmp/strudel/{{ pkg_name }} /tmp/{{ dest_pkg_name }}
+  delegate_to: 127.0.0.1
diff --git a/roles/strudel_build/vars/CentOS_6.5_x86_64.yml b/roles/strudel_build/vars/CentOS_6.5_x86_64.yml
new file mode 100644
index 00000000..6fbf4462
--- /dev/null
+++ b/roles/strudel_build/vars/CentOS_6.5_x86_64.yml
@@ -0,0 +1,72 @@
+---
+ install_prerequisites: install_centos6_64bit_prerequisites.sh
+ build_launcher: package_centos_version.sh
+ pip_packages:
+   - appdirs
+ system_packages:
+   - python-pip
+   - git
+   - curl
+   - gcc
+   - bc
+   - glibc-devel
+   - libgcc
+   - libxml2-devel
+   - libxslt-devel
+   - ncurses-libs
+   - ncurses-devel
+   - readline
+   - readline-devel
+   - zlib
+   - zlib-devel
+   - bzip2-libs
+   - bzip2-devel
+   - gdbm
+   - gdbm-devel
+   - sqlite
+   - sqlite-devel
+   - db4
+   - db4-devel
+   - openssl
+   - openssl-devel
+   - libX11
+   - libX11-devel
+   - tk
+   - tk-devel
+   - gcc-c++
+   - gtk2-devel
+   - gtk2-engines
+   - glib2-devel
+   - mesa-libGL
+   - mesa-libGL-devel
+   - mesa-libGLU
+   - mesa-libGLU-devel
+   - mesa-libGLw
+   - mesa-libGLw-devel
+   - gtkglext-libs
+   - gtkglext-devel
+   - gimp-libs
+   - gimp-devel
+   - gvfs
+   - atk-devel
+   - pango-devel
+   - cairo-devel
+   - freetype-devel
+   - fontconfig-devel
+   - libcanberra-gtk2
+   - PackageKit-gtk-module
+   - make
+   - cmake
+   - rpm-build
+   - wxPython
+   - python-paramiko
+   - python-crypto
+   - python-requests
+   - pexpect
+   - python-lxml
+   - python-psutil
+
+
+ 
+ pkg_name: ./rpmbuild/RPMS/x86_64/strudel-0.6.0-1.x86_64.rpm
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_version }}_{{ hostvars[ansible_hostname]['ansible_date_time']['date'] }}_x86_64.rpm
diff --git a/roles/strudel_build/vars/Fedora_19_x86_64.yml b/roles/strudel_build/vars/Fedora_19_x86_64.yml
new file mode 100644
index 00000000..a250e49d
--- /dev/null
+++ b/roles/strudel_build/vars/Fedora_19_x86_64.yml
@@ -0,0 +1,71 @@
+---
+ install_prerequisites: install_centos6_64bit_prerequisites.sh
+ build_launcher: package_centos_version.sh
+ pip_packages:
+   - appdirs
+ system_packages:
+   - python-pip
+   - git
+   - curl
+   - gcc
+   - bc
+   - glibc-devel
+   - libgcc
+   - libxml2-devel
+   - libxslt-devel
+   - ncurses-libs
+   - ncurses-devel
+   - readline
+   - readline-devel
+   - zlib
+   - zlib-devel
+   - bzip2-libs
+   - bzip2-devel
+   - gdbm
+   - gdbm-devel
+   - sqlite
+   - sqlite-devel
+   - db4
+   - db4-devel
+   - openssl
+   - openssl-devel
+   - libX11
+   - libX11-devel
+   - tk
+   - tk-devel
+   - gcc-c++
+   - gtk2-devel
+   - gtk2-engines
+   - glib2-devel
+   - mesa-libGL
+   - mesa-libGL-devel
+   - mesa-libGLU
+   - mesa-libGLU-devel
+   - mesa-libGLw
+   - mesa-libGLw-devel
+   - gtkglext-libs
+   - gtkglext-devel
+   - gimp-libs
+   - gimp-devel
+   - gvfs
+   - atk-devel
+   - pango-devel
+   - cairo-devel
+   - freetype-devel
+   - fontconfig-devel
+   - libcanberra-gtk2
+   - make
+   - cmake
+   - rpm-build
+   - wxPython
+   - python-paramiko
+   - python-crypto
+   - python-requests
+   - pexpect
+   - python-lxml
+   - python-psutil
+
+
+ 
+ pkg_name: ./rpmbuild/RPMS/x86_64/strudel-0.6.0-1.x86_64.rpm
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_version }}_{{ hostvars[ansible_hostname]['ansible_date_time']['date'] }}_x86_64.rpm
diff --git a/roles/strudel_build/vars/Fedora_20_x86_64.yml b/roles/strudel_build/vars/Fedora_20_x86_64.yml
new file mode 100644
index 00000000..a250e49d
--- /dev/null
+++ b/roles/strudel_build/vars/Fedora_20_x86_64.yml
@@ -0,0 +1,71 @@
+---
+ install_prerequisites: install_centos6_64bit_prerequisites.sh
+ build_launcher: package_centos_version.sh
+ pip_packages:
+   - appdirs
+ system_packages:
+   - python-pip
+   - git
+   - curl
+   - gcc
+   - bc
+   - glibc-devel
+   - libgcc
+   - libxml2-devel
+   - libxslt-devel
+   - ncurses-libs
+   - ncurses-devel
+   - readline
+   - readline-devel
+   - zlib
+   - zlib-devel
+   - bzip2-libs
+   - bzip2-devel
+   - gdbm
+   - gdbm-devel
+   - sqlite
+   - sqlite-devel
+   - db4
+   - db4-devel
+   - openssl
+   - openssl-devel
+   - libX11
+   - libX11-devel
+   - tk
+   - tk-devel
+   - gcc-c++
+   - gtk2-devel
+   - gtk2-engines
+   - glib2-devel
+   - mesa-libGL
+   - mesa-libGL-devel
+   - mesa-libGLU
+   - mesa-libGLU-devel
+   - mesa-libGLw
+   - mesa-libGLw-devel
+   - gtkglext-libs
+   - gtkglext-devel
+   - gimp-libs
+   - gimp-devel
+   - gvfs
+   - atk-devel
+   - pango-devel
+   - cairo-devel
+   - freetype-devel
+   - fontconfig-devel
+   - libcanberra-gtk2
+   - make
+   - cmake
+   - rpm-build
+   - wxPython
+   - python-paramiko
+   - python-crypto
+   - python-requests
+   - pexpect
+   - python-lxml
+   - python-psutil
+
+
+ 
+ pkg_name: ./rpmbuild/RPMS/x86_64/strudel-0.6.0-1.x86_64.rpm
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_version }}_{{ hostvars[ansible_hostname]['ansible_date_time']['date'] }}_x86_64.rpm
diff --git a/roles/strudel_build/vars/Ubuntu_12.04_x86_64.yml b/roles/strudel_build/vars/Ubuntu_12.04_x86_64.yml
new file mode 100644
index 00000000..217a5942
--- /dev/null
+++ b/roles/strudel_build/vars/Ubuntu_12.04_x86_64.yml
@@ -0,0 +1,19 @@
+---
+ build_launcher: "package_ubuntu_version.sh"
+ pip_packages:
+   - appdirs
+ system_packages:
+   - git
+   - curl
+   - gcc
+   - python-dev
+   - libwxgtk2.8-dev
+   - python-wxgtk2.8
+   - python-pexpect
+   - python-paramiko
+   - python-pycryptopp
+   - python-requests
+   - python-pip
+ pkg_name: strudel_UBUNTU_0.6.0_amd64.deb
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_version }}_{{ hostvars[ansible_hostname]['ansible_date_time']['date'] }}_x86_64.deb
+
diff --git a/roles/strudel_build/vars/Ubuntu_14.04_x86_64.yml b/roles/strudel_build/vars/Ubuntu_14.04_x86_64.yml
new file mode 100644
index 00000000..63919c52
--- /dev/null
+++ b/roles/strudel_build/vars/Ubuntu_14.04_x86_64.yml
@@ -0,0 +1,18 @@
+---
+ install_prerequisites: install_ubuntu_64bit_prerequisites.sh
+ build_launcher: "package_ubuntu_version.sh"
+ system_packages:
+   - git
+   - curl
+   - gcc
+   - python-dev
+   - libwxgtk2.8-dev
+   - python-wxgtk2.8
+   - python-pexpect
+   - python-paramiko
+   - python-pycryptopp
+   - python-appdirs
+   - python-requests
+ pkg_name: strudel_UBUNTU_0.6.0_amd64.deb
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_version }}_{{ hostvars[ansible_hostname]['ansible_date_time']['date'] }}_x86_64.deb
+
-- 
GitLab