Merge branch '18631-shell-login-sync'
[arvados-formula.git] / arvados / ruby / package / install.sls
1 # -*- coding: utf-8 -*-
2 # vim: ft=sls
3
4 # Copyright (C) The Arvados Authors. All rights reserved.
5 #
6 # SPDX-License-Identifier: Apache-2.0
7
8 {#- Get the `tplroot` from `tpldir` #}
9 {%- set tplroot = tpldir.split('/')[0] %}
10 {%- from tplroot ~ "/map.jinja" import arvados with context %}
11 {%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
12
13 {%- if arvados.ruby.manage_ruby %}
14
15   {%- if arvados.ruby.use_rvm %}
16
17     # Centos 7 has a too old postgresql package and we need a newer one
18     {%- if grains.os_family in ('RedHat',) %}
19 arvados-ruby-package-install-ruby-rvm-deps-centos-scl-release-pkg-installed:
20   pkg.installed:
21     - name: centos-release-scl
22
23 arvados-ruby-package-install-ruby-rvm-deps-rh-postgres-libs-pkg-installed:
24   pkg.installed:
25     - name: rh-postgresql{{ arvados.api.postgresql_version }}-postgresql-libs
26     - unless: rpm -q postgresql{{ arvados.api.postgresql_version }}-libs
27     - require_in:
28       - cmd: arvados-ruby-package-install-rvm-cmd-run-curl
29     {%- endif %}
30
31   # Centos 7 has no python3-gnupg package, so using gpg.present
32   # will fail when it can't list the existing keys.
33   # Doing it the hard way
34 arvados-ruby-package-install-file-managed-gpg-michal-papis:
35   file.managed:
36     - name: /tmp/gpg-michal-papis-409B6B1796C275462A1703113804BB82D39DC0E3.key
37     - source: {{ files_switch(['gpg-michal-papis-409B6B1796C275462A1703113804BB82D39DC0E3.key'],
38                               lookup='arvados-ruby-package-install-file-managed-gpg-michal-papis',
39                               use_subpath=True
40                  )
41               }}
42     - mode: '0644'
43     - user: root
44     - group: root
45     - unless:
46       - gpg --list-keys 409B6B1796C275462A1703113804BB82D39DC0E3
47
48 arvados-ruby-package-install-cmd-run-gpg-michal-papis:
49   cmd.run:
50     - name: gpg --import /tmp/gpg-michal-papis-409B6B1796C275462A1703113804BB82D39DC0E3.key
51     - unless:
52       - gpg --list-keys 409B6B1796C275462A1703113804BB82D39DC0E3
53
54 arvados-ruby-package-install-file-managed-gpg-piotr-kuczynski:
55   file.managed:
56     - name: /tmp/gpg-piotr-kuczynski-7D2BAF1CF37B13E2069D6956105BD0E739499BDB.key
57     - source: {{ files_switch(['gpg-piotr-kuczynski-7D2BAF1CF37B13E2069D6956105BD0E739499BDB.key'],
58                               lookup='arvados-ruby-package-install-file-managed-gpg-piotr-kuczynski',
59                               use_subpath=True
60                  )
61               }}
62     - mode: '0644'
63     - user: root
64     - group: root
65     - unless:
66       - gpg --list-keys 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
67
68 arvados-ruby-package-install-cmd-run-gpg-piotr-kuczynski:
69   cmd.run:
70     - name: gpg --import /tmp/gpg-piotr-kuczynski-7D2BAF1CF37B13E2069D6956105BD0E739499BDB.key
71     - unless:
72       - gpg --list-keys 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
73
74 arvados-ruby-package-install-rvm-cmd-run-curl:
75   cmd.run:
76     - name: curl -s -L http://get.rvm.io | bash -s stable
77     - unless: test -f /usr/local/rvm/bin/rvm
78     - require:
79       - cmd: arvados-ruby-package-install-cmd-run-gpg-michal-papis
80       - cmd: arvados-ruby-package-install-cmd-run-gpg-piotr-kuczynski
81
82 arvados-ruby-package-install-ruby-rvm-installed:
83   rvm.installed:
84     - name: {{ arvados.ruby.pkg }}
85     - default: true
86     - require:
87       - cmd: arvados-ruby-package-install-rvm-cmd-run-curl
88
89   {%- else %}
90
91 arvados-ruby-package-install-ruby-pkg-installed:
92   pkg.installed:
93     - name: {{ arvados.ruby.pkg }}
94
95   {%- endif %}
96 {%- endif %}