Skip to content

Commit

Permalink
fix(debian): avoid adding repositories entries multiple times
Browse files Browse the repository at this point in the history
Entries are being duplicated as described in

* saltstack/salt#60220 and
* saltstack/salt#59785 (comment)
  • Loading branch information
javierbertoli committed Mar 1, 2022
1 parent 3c2ee22 commit 8917dce
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 9 deletions.
4 changes: 3 additions & 1 deletion docker/compose/software/package/install.sls
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
{%- if d.pkg.compose.use_upstream in ('package', 'repo') %}
{%- if grains.os_family in ('RedHat', 'Debian') %}
{%- set sls_repo_install = tplroot ~ '.software.package.repo.install' %}
{%- set resource_repo_managed = 'file' if grains.os_family == 'Debian' else 'pkgrepo' %}
include:
- {{ sls_repo_install }}
Expand All @@ -25,8 +26,9 @@ docker-compose-package-install-pkgs:
- runas: {{ d.identity.rootuser }}
- reload_modules: true
{%- if grains.os_family in ('RedHat', 'Debian') %}
- refresh: {{ d.misc.refresh|default(true, true) }}
- require:
- pkgrepo: docker-software-package-repo-managed
- {{ resource_repo_managed }}: docker-software-package-repo-managed
{%- endif %}
{%- else %}
Expand Down
3 changes: 2 additions & 1 deletion docker/software/package/install.sls
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
{%- set docker_pkg_version = d.version | default(d.pkg.version, true) %}
{%- if enable_repo %}
{%- set sls_repo_install = tplroot ~ '.software.package.repo.install' %}
{%- set resource_repo_managed = 'file' if grains.os_family == 'Debian' else 'pkgrepo' %}
include:
- {{ sls_repo_install }}
{%- endif %}
Expand Down Expand Up @@ -45,7 +46,7 @@ docker-software-package-install-pkg:
{%- endif %}
{%- if enable_repo %}
- require:
- pkgrepo: docker-software-package-repo-managed
- {{ resource_repo_managed }}: docker-software-package-repo-managed
{%- endif %}
{%- elif grains.kernel|lower in ('windows',) %}
Expand Down
20 changes: 13 additions & 7 deletions docker/software/package/repo/install.sls
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,32 @@
{%- from tplroot ~ "/map.jinja" import data as d with context %}
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
{%- if 'repo' in d.pkg.docker and d.pkg.docker.repo %}
{%- from tplroot ~ "/files/macros.jinja" import format_kwargs with context %}
{%- if 'repo' in d.pkg.docker and d.pkg.docker.repo %}
{%- from tplroot ~ "/files/macros.jinja" import format_kwargs with context %}
{% if grains.os_family == 'Debian' %}
docker-software-package-repo-keyring-managed:
{% if grains.os_family == 'Debian' %}
docker-software-package-repo-keyring-file-managed:
file.managed:
- name: {{ d.pkg.docker.repo_keyring }}
- source: {{ files_switch(['docker-archive-keyring.gpg'],
lookup='docker-software-package-repo-keyring-managed'
)
}}
- require_in:
- pkgrepo: docker-software-package-repo-managed
{%- endif %}
- file: docker-software-package-repo-managed
docker-software-package-repo-managed:
file.managed:
- name: {{ d.pkg.docker.repo.file }}
- contents: {{ d.pkg.docker.repo.name }}
{%- else %}
docker-software-package-repo-managed:
pkgrepo.managed:
{{- format_kwargs(d.pkg.docker.repo) }}
- humanname: {{ grains["os"] }} {{ grains["oscodename"]|capitalize }} Docker Package Repository
- refresh: {{ d.misc.refresh }}
{%- endif %}
{%- endif %}
{%- endif %}

0 comments on commit 8917dce

Please sign in to comment.