From: Javier Bértoli Date: Wed, 21 Jul 2021 17:42:03 +0000 (-0300) Subject: 17750: Add postgresql dependencies for RVM in Centos 7 X-Git-Url: https://git.arvados.org/arvados-formula.git/commitdiff_plain/ef372365979b3b96dc6f0060f709370d9e0421a1 17750: Add postgresql dependencies for RVM in Centos 7 Arvados-DCO-1.1-Signed-off-by: Javier Bértoli --- diff --git a/arvados/defaults.yaml b/arvados/defaults.yaml index 384e94c..6f44cbb 100644 --- a/arvados/defaults.yaml +++ b/arvados/defaults.yaml @@ -67,6 +67,10 @@ arvados: gem: name: - arvados-cli + # Arvados API needs postgresql libs and cli to connect to the database + # and populate it. Please specify the postgresql version that you expect + # to use here + postgresql_version: 12 service: name: nginx port: 8004 diff --git a/arvados/osfamilymap.yaml b/arvados/osfamilymap.yaml index d40489c..fae57b6 100644 --- a/arvados/osfamilymap.yaml +++ b/arvados/osfamilymap.yaml @@ -39,12 +39,11 @@ RedHat: - libcurl - libcurl-devel - pam-devel - - postgresql-devel + - centos-release-scl - libxml2 - libxml2-devel - make - python3-devel - - ruby-devel - zlib-devel ##### SHELL shell: diff --git a/arvados/ruby/package/install.sls b/arvados/ruby/package/install.sls index 4e26538..8d9ed6b 100644 --- a/arvados/ruby/package/install.sls +++ b/arvados/ruby/package/install.sls @@ -12,6 +12,22 @@ {%- if arvados.ruby.manage_ruby %} {%- if arvados.ruby.use_rvm %} + + # Centos 7 has a too old postgresql package and we need a newer one + {%- if grains.os_family in ('RedHat',) %} +arvados-ruby-package-install-ruby-rvm-deps-centos-scl-release-pkg-installed: + pkg.installed: + - name: centos-release-scl + - require_in: + +arvados-ruby-package-install-ruby-rvm-deps-rh-postgres11-libs-pkg-installed: + pkg.installed: + - name: rh-postgresql{{ arvados.api.postgresql_version }}-postgresql-libs + - unless: rpm -q postgresql{{ arvados.api.postgresql_version }}-libs + - require_in: + - cmd: arvados-ruby-package-install-rvm-cmd-run-curl + {%- endif %} + # Centos 7 has no python3-gnupg package, so using gpg.present # will fail when it can't list the existing keys. # Doing it the hard way diff --git a/test/integration/api/controls/packages_spec.rb b/test/integration/api/controls/packages_spec.rb index 9cb60ab..7c3cffb 100644 --- a/test/integration/api/controls/packages_spec.rb +++ b/test/integration/api/controls/packages_spec.rb @@ -27,23 +27,27 @@ control 'RVM and dependencies' do end %w[ - rubygem-bundler + centos-release-scl curl gcc git libcurl libcurl-devel - pam-devel - postgresql-devel libxml2 libxml2-devel make + pam-devel + postgresql12-libs python3-devel - ruby-devel + rubygem-bundler zlib-devel ].each do |p| describe package(p) do it { should be_installed } end end + describe command('/usr/local/rvm/bin/rvm list') do + its(:exit_status) { should eq 0 } + its('stdout') { should match (/ruby-2.5.8/) } + end end