public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH] gitr: Make gitr work on RHEL/CentOS
@ 2024-08-15 21:59 Scott Mayhew
  2024-08-16 20:45 ` Chuck Lever
  0 siblings, 1 reply; 7+ messages in thread
From: Scott Mayhew @ 2024-08-15 21:59 UTC (permalink / raw)
  To: kdevops; +Cc: chuck.lever

RHEL and CentOS do not ship cvsps or perl-TAP-Harness-Archive.  For the
former, we'll have to build it from git.  For the latter, we can install
it from CPAN, but we'll also have to install the perl-App-cpanminus
package to do so.

Also add two other dependencies.  First is 'make', which is currently
only installed if you have KDEVOPS_TRY_INSTALL_KDEV_TOOLS enabled in
your config.  Second is 'tar' which is not installed in the RHEL
virt-builder images by default ('tar' isn't part of the @core dnf
package group).

Signed-off-by: Scott Mayhew <smayhew@redhat.com>
---
 playbooks/roles/gitr/defaults/main.yml |  3 ++
 playbooks/roles/gitr/tasks/main.yml    | 67 ++++++++++++++++++++++++++
 playbooks/roles/gitr/vars/RedHat.yml   |  7 ++-
 3 files changed, 75 insertions(+), 2 deletions(-)

diff --git a/playbooks/roles/gitr/defaults/main.yml b/playbooks/roles/gitr/defaults/main.yml
index bcfbaef..ff737ca 100644
--- a/playbooks/roles/gitr/defaults/main.yml
+++ b/playbooks/roles/gitr/defaults/main.yml
@@ -18,3 +18,6 @@ gitr_thread_single: false
 gitr_thread_fast: false
 gitr_thread_stress: false
 gitr_thread_custom: false
+
+cvsps_git: https://github.com/andreyvit/cvsps.git
+cvsps_data: "{{ data_path }}/cvsps"
diff --git a/playbooks/roles/gitr/tasks/main.yml b/playbooks/roles/gitr/tasks/main.yml
index 330350c..001257a 100644
--- a/playbooks/roles/gitr/tasks/main.yml
+++ b/playbooks/roles/gitr/tasks/main.yml
@@ -11,6 +11,11 @@
   failed_when: false
   tags: vars
 
+- name: Set up the /data mount point
+  tags: ['data_partition']
+  ansible.builtin.include_role:
+    name: create_data_partition
+
 - name: Set the name of the test group
   tags: vars
   ansible.builtin.set_fact:
@@ -42,6 +47,21 @@
       paths:
         - 'vars'
 
+- name: Update gitr depencies for RHEL/Centos
+  tags: gitr
+  ansible.builtin.set_fact:
+    gitr_packages: "{{ gitr_packages + ['perl-App-cpanminus'] }}"
+  when:
+    - ansible_distribution == "RedHat" or
+      ansible_distribution == "CentOS"
+
+- name: Update gitr dependencies for Fedora
+  tags: gitr
+  ansible.builtin.set_fact:
+    gitr_packages: "{{ gitr_packages + ['cvsps', 'perl-TAP-Harness-Archive'] }}"
+  when:
+    - ansible_distribution == "Fedora"
+
 - name: Install dependencies for gitr
   tags: gitr
   become: true
@@ -51,6 +71,53 @@
     name: "{{ gitr_packages }}"
     state: present
 
+- name: Install CPAN modules for gitr
+  tags: gitr
+  become: true
+  become_flags: 'su - -c'
+  become_method: ansible.builtin.sudo
+  community.general.cpanm:
+    name: "{{ item }}"
+  with_items: "{{ gitr_cpan_modules }}"
+  when:
+    - ansible_distribution == "RedHat" or
+      ansible_distribution == "CentOS"
+
+- name: git clone cvsps
+  tags: gitr
+  ansible.builtin.git:
+    repo: "{{ cvsps_git }}"
+    dest: "{{ cvsps_data }}"
+    update: true
+  retries: 3
+  delay: 5
+  register: result
+  until: not result.failed
+  when:
+    - ansible_distribution == "RedHat" or
+      ansible_distribution == "CentOS"
+
+- name: Build cvsps
+  tags: gitr
+  community.general.make:
+    chdir: "{{ cvsps_data }}"
+    jobs: "{{ ansible_processor_nproc }}"
+  when:
+    - ansible_distribution == "RedHat" or
+      ansible_distribution == "CentOS"
+
+- name: Install cvsps
+  tags: gitr
+  become: true
+  become_flags: 'su - -c'
+  become_method: ansible.builtin.sudo
+  community.general.make:
+    target: install
+    chdir: "{{ cvsps_data }}"
+  when:
+    - ansible_distribution == "RedHat" or
+      ansible_distribution == "CentOS"
+
 - name: Set up an iSCSI initiator on the target node
   ansible.builtin.include_role:
     name: iscsi
diff --git a/playbooks/roles/gitr/vars/RedHat.yml b/playbooks/roles/gitr/vars/RedHat.yml
index 57f2f35..caf9840 100644
--- a/playbooks/roles/gitr/vars/RedHat.yml
+++ b/playbooks/roles/gitr/vars/RedHat.yml
@@ -1,7 +1,6 @@
 ---
 gitr_packages:
   - cvs
-  - cvsps
   - expat-devel
   - gcc
   - gettext
@@ -9,11 +8,15 @@ gitr_packages:
   - git-email
   - glibc-utils
   - libcurl-devel
+  - make
   - openssl-devel
   - perl-Memoize
-  - perl-TAP-Harness-Archive
   - perl-Test-Harness
   - perl-Test-Simple
   - subversion
   - subversion-perl
+  - tar
   - zlib-devel
+
+gitr_cpan_modules:
+  - TAP::Harness::Archive
-- 
2.44.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-08-21 13:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-15 21:59 [PATCH] gitr: Make gitr work on RHEL/CentOS Scott Mayhew
2024-08-16 20:45 ` Chuck Lever
2024-08-19 12:53   ` Scott Mayhew
2024-08-19 13:12     ` Chuck Lever III
2024-08-19 14:07       ` Scott Mayhew
2024-08-19 21:28         ` Scott Mayhew
2024-08-21 13:54           ` Chuck Lever III

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox