diff --git a/ansible/roles/tasks/main.yaml b/ansible/roles/common_tools/tasks/main.yaml similarity index 100% rename from ansible/roles/tasks/main.yaml rename to ansible/roles/common_tools/tasks/main.yaml diff --git a/ansible/roles/cpp_dependencies/meta/main.yaml b/ansible/roles/cpp_dependencies/meta/main.yaml new file mode 100644 index 00000000..3b0c3379 --- /dev/null +++ b/ansible/roles/cpp_dependencies/meta/main.yaml @@ -0,0 +1,5 @@ +--- +dependencies: + - role: repository_crb + - role: repository_epel + diff --git a/ansible/roles/cpp_dependencies/tasks/main.yaml b/ansible/roles/cpp_dependencies/tasks/main.yaml new file mode 100644 index 00000000..c025043c --- /dev/null +++ b/ansible/roles/cpp_dependencies/tasks/main.yaml @@ -0,0 +1,19 @@ +--- +- name: libpcap library is installed + ansible.builtin.dnf: + name: + - libpcap + - libpcap-devel + state: latest + +- name: libunwind library is installed + ansible.builtin.dnf: + name: + - libunwind-devel + state: latest + +- name: openssl library is installed + ansible.builtin.dnf: + name: + - openssl-devel + state: latest diff --git a/ansible/roles/cpp_development/meta/main.yaml b/ansible/roles/cpp_development/meta/main.yaml new file mode 100644 index 00000000..42127c0e --- /dev/null +++ b/ansible/roles/cpp_development/meta/main.yaml @@ -0,0 +1,5 @@ +--- +dependencies: + - role: repository_epel + - role: repository_crb + diff --git a/ansible/roles/cpp_development/tasks/main.yaml b/ansible/roles/cpp_development/tasks/main.yaml new file mode 100644 index 00000000..79d27884 --- /dev/null +++ b/ansible/roles/cpp_development/tasks/main.yaml @@ -0,0 +1,24 @@ +--- +- name: Make/autoconf/libtool/rpmbuild is installed + ansible.builtin.dnf: + name: + - autoconf + - make + - libtool + - rpm-build + state: latest + +- name: GCC is installed + ansible.builtin.dnf: + name: + - gcc + - gcc-c++ + state: latest + +- name: Static analysis tools are installed + ansible.builtin.dnf: + name: + - cppcheck + - clang-tools-extra + state: latest + diff --git a/ansible/roles/repository_crb/tasks/main.yaml b/ansible/roles/repository_crb/tasks/main.yaml new file mode 100644 index 00000000..da2dfd7f --- /dev/null +++ b/ansible/roles/repository_crb/tasks/main.yaml @@ -0,0 +1,21 @@ +--- +- name: DNF config-manager is available + ansible.builtin.dnf: + name: dnf-command(config-manager) + state: latest + +- name: CodeReady Builder repository is enabled (CentOS/Rocky/etc. 9+) + ansible.builtin.command: dnf config-manager --set-enabled crb + when: + - ansible_os_family == 'RedHat' + - ansible_distribution != 'OracleLinux' + - ansible_distribution_major_version | int > 8 + +- name: CodeReady Builder repository is enabled (Oracle Linux) + ansible.builtin.command: dnf config-manager --set-enabled {{ repo }} + vars: + repo: "ol{{ ansible_distribution_major_version }}_codeready_builder" + when: + - ansible_os_family == 'RedHat' + - ansible_distribution == 'OracleLinux' + diff --git a/ansible/roles/repository_epel/tasks/main.yaml b/ansible/roles/repository_epel/tasks/main.yaml new file mode 100644 index 00000000..212607a0 --- /dev/null +++ b/ansible/roles/repository_epel/tasks/main.yaml @@ -0,0 +1,6 @@ +--- +- name: EPEL repository is installed + ansible.builtin.dnf: + name: epel-release + state: latest + diff --git a/ansible/roles/repository_nemea/tasks/main.yaml b/ansible/roles/repository_nemea/tasks/main.yaml new file mode 100644 index 00000000..4da3b45e --- /dev/null +++ b/ansible/roles/repository_nemea/tasks/main.yaml @@ -0,0 +1,14 @@ +--- +- name: Nemea repository is installed + ansible.builtin.yum_repository: + name: copr:copr.fedorainfracloud.org:group_CESNET:NEMEA + description: Copr repo for NEMEA owned by @CESNET + baseurl: "{{ url }}/epel-{{ ansible_distribution_major_version }}-$basearch/" + skip_if_unavailable: yes + gpgcheck: yes + gpgkey: "{{ url }}/pubkey.gpg" + repo_gpgcheck: no + enabled: yes + vars: + url: https://download.copr.fedorainfracloud.org/results/@CESNET/NEMEA +