From 2178279d06aa9f919e31b4470706690b2c51849d Mon Sep 17 00:00:00 2001 From: Andrea Dell'Amico Date: Wed, 20 Mar 2019 19:11:14 +0100 Subject: [PATCH] Role that installs the latest mono distribution. --- mono/defaults/main.yml | 24 +++++++++++++++++++++++ mono/tasks/main.yml | 43 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 mono/defaults/main.yml create mode 100644 mono/tasks/main.yml diff --git a/mono/defaults/main.yml b/mono/defaults/main.yml new file mode 100644 index 0000000..41cbae1 --- /dev/null +++ b/mono/defaults/main.yml @@ -0,0 +1,24 @@ +--- +mono_repo_server: 'hkp://keyserver.ubuntu.com' +mono_deb_repo_key_id: 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF +mono_deb_repo_url: 'deb https://download.mono-project.com/repo/{{ ansible_distribution | lower }} stable-{{ ansible_distribution_release }} main' + +mono_rh_key: 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF' +mono_rh_repo_url: 'https://download.mono-project.com/repo/{{ ansible_distribution | lower }}{{ ansible_distribution_major_version }}-stable.repo' + +mono_deb_prerequisites: + - apt-transport-https + - dirmngr + - gnupg + - ca-certificates + +mono_deb_packages: + - mono-devel + - referenceassemblies-pcl + - mono-xsp4 + +mono_rh_packages: + - mono-devel + - referenceassemblies-pcl + - xsp + diff --git a/mono/tasks/main.yml b/mono/tasks/main.yml new file mode 100644 index 0000000..9f09a27 --- /dev/null +++ b/mono/tasks/main.yml @@ -0,0 +1,43 @@ +--- +- block: + - name: Install the Mono dependencies on Deb based distributions + apt: name={{ mono_deb_prerequisites }} state=present cache_valid_time=1800 + + when: ansible_distribution_file_variety == "Debian" + tags: mono + +- block: + - name: Install the deb Mono repository key + apt_key: + keyserver: {{ mono_repo_server }} + url: {{ mono_repo_server }} + id: {[ mono_deb_repo_key_id }} + + - name: Install the deb Mono repository + apt_repository: + repo: '{{ mono_deb_repo_url }}' + state: present + update_cache: yes + + - name: Install the Mono packages on Deb based distributions + apt: name={{ mono_deb_packages }} state=present cache_valid_time=1800 + + when: ansible_distribution_file_variety == "Debian" + tags: mono + +- block: + - name: Install the RH Mono repository key + rpm_key: + state: present + key: {{ mono_rh_key }} + + - name: Install the RH Mono repository + get_url: + dest: /etc/yum.repos.d/mono-{{ ansible_distribution | lower }}{{ ansible_distribution_major_version }}-stable.repo + url: {{ mono_rh_repo_url }} + + - name: Install the Mono packages on RH based distributions + yum: name={{ mono_rh_packages }} state=present + + when: ansible_distribution_file_variety != "Debian" + tags: mono