18761: move away from pkgrepo on Debian's family
[arvados-formula.git] / arvados / repo / install.sls
index 8478cd7d2745a7ca1d0a02a861f9f630eee31426..2c9360e6fea47347575c309315f7debc755070a4 100644 (file)
@@ -5,24 +5,50 @@
 {%- set tplroot = tpldir.split('/')[0] %}
 {%- from tplroot ~ "/map.jinja" import arvados with context %}
 
-{% if arvados.use_upstream_repo -%}
-  {% if grains.get('os_family') == 'Debian' -%}
-arvados-repo-install-pkgrepo-managed:
-  pkgrepo.managed:
-    - humanname: {{ arvados.repo.humanname }}
-    - name: deb {{ arvados.repo.url_base }}/ {{ grains.get('lsb_distrib_codename') }} main
-    - file: {{ arvados.repo.file }}
-    - key_url: {{ arvados.repo.key_url }}
+{%- if arvados.use_upstream_repo %}
+  {%- if grains.get('os_family') == 'Debian' %}
+    {%- set distro = grains.get('lsb_distrib_codename') %}
+
+    {%- if arvados.release == 'testing' %}
+      {%- set release = distro ~ '-testing' %}
+    {%- elif arvados.release == 'development' %}
+      {%- set release = distro ~ '-dev' %}
+    {%- else %}
+      {%- set release = distro %}
+    {%- endif %}
+
+arvados-repo-install-pkgrepo-keyring-managed:
+  file.managed:
+    - name: {{ arvados.repo.keyring_file }}
+    - source:
+      - {{ arvados.repo.keyring_source }}
+    - source_hash: sha256={{ arvados.repo.keyring_source_hash }}
+    - require_in:
+      - file: arvados-repo-install-file-managed
+
+arvados-repo-install-file-managed:
+  file.managed:
+    - name: {{ arvados.repo.file }}
+    - contents: >
+        deb [signed-by={{ arvados.repo.keyring_file }} arch=amd64]
+        {{ arvados.repo.url_base }}/{{ distro }} {{ release }} main
 
   {%- elif grains.get('os_family') == 'RedHat' %}
+    {%- if arvados.release == 'testing' %}
+      {%- set repo_url = 'http://rpm.arvados.org/CentOS/$releasever/testing/$basearch/' %}
+    {%- elif arvados.release == 'development' %}
+      {%- set repo_url = 'http://rpm.arvados.org/CentOS/$releasever/dev/$basearch/' %}
+    {%- else %}
+      {%- set repo_url = arvados.repo.url_base %}
+    {%- endif %}
 arvados-repo-install-pkgrepo-managed:
   pkgrepo.managed:
     - name: arvados
     - file: {{ arvados.repo.file }}
     - humanname: {{ arvados.repo.humanname }}
-    - baseurl: {{ arvados.repo.url_base }}
+    - baseurl: {{ repo_url }}
     - gpgcheck: 1
-    - gpgkey: {{ arvados.repo.gpgkey }}
+    - gpgkey: {{ arvados.repo.key_url }}
 
   {%- else %}
 arvados-repo-install-pkgrepo-managed: {}