Skip to content

Commit 31ab3af

Browse files
fix(debian): avoid adding repositories entries multiple times
Entries are being duplicated as described in * saltstack/salt#60220 and * saltstack/salt#59785 (comment)
1 parent 14eeec9 commit 31ab3af

3 files changed

Lines changed: 17 additions & 8 deletions

File tree

docker/compose/software/package/install.sls

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
{%- if d.pkg.compose.use_upstream in ('package', 'repo') %}
88
{%- if grains.os_family in ('RedHat', 'Debian') %}
99
{%- set sls_repo_install = tplroot ~ '.software.package.repo.install' %}
10+
{%- set resource_repo_managed = 'file' if grains.os_family == 'Debian' else 'pkgrepo' %}
1011
1112
include:
1213
- {{ sls_repo_install }}
@@ -25,8 +26,9 @@ docker-compose-package-install-pkgs:
2526
- runas: {{ d.identity.rootuser }}
2627
- reload_modules: true
2728
{%- if grains.os_family in ('RedHat', 'Debian') %}
29+
- refresh: {{ d.misc.refresh|default(true, true) }}
2830
- require:
29-
- pkgrepo: docker-software-package-repo-managed
31+
- {{ resource_repo_managed }}: docker-software-package-repo-managed
3032
{%- endif %}
3133
3234
{%- else %}

docker/software/package/install.sls

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
{%- set docker_pkg_version = d.version | default(d.pkg.version, true) %}
1010
{%- if enable_repo %}
1111
{%- set sls_repo_install = tplroot ~ '.software.package.repo.install' %}
12+
{%- set resource_repo_managed = 'file' if grains.os_family == 'Debian' else 'pkgrepo' %}
1213
include:
1314
- {{ sls_repo_install }}
1415
{%- endif %}
@@ -45,7 +46,7 @@ docker-software-package-install-pkg:
4546
{%- endif %}
4647
{%- if enable_repo %}
4748
- require:
48-
- pkgrepo: docker-software-package-repo-managed
49+
- {{ resource_repo_managed }}: docker-software-package-repo-managed
4950
{%- endif %}
5051
5152
{%- elif grains.kernel|lower in ('windows',) %}

docker/software/package/repo/install.sls

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
{%- from tplroot ~ "/map.jinja" import data as d with context %}
66
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
77
8-
{%- if 'repo' in d.pkg.docker and d.pkg.docker.repo %}
9-
{%- from tplroot ~ "/files/macros.jinja" import format_kwargs with context %}
8+
{%- if 'repo' in d.pkg.docker and d.pkg.docker.repo %}
9+
{%- from tplroot ~ "/files/macros.jinja" import format_kwargs with context %}
1010
11-
{% if grains.os_family == 'Debian' %}
11+
{% if grains.os_family == 'Debian' %}
1212
docker-software-package-repo-keyring-managed:
1313
file.managed:
1414
- name: {{ d.pkg.docker.repo_keyring }}
@@ -17,14 +17,20 @@ docker-software-package-repo-keyring-managed:
1717
)
1818
}}
1919
- require_in:
20-
- pkgrepo: docker-software-package-repo-managed
21-
{%- endif %}
20+
- file: docker-software-package-repo-managed
2221
22+
docker-software-package-repo-managed:
23+
file.managed:
24+
- name: {{ d.pkg.docker.repo.file }}
25+
- contents: {{ d.pkg.docker.repo.name }}
26+
27+
{%- else %}
2328
2429
docker-software-package-repo-managed:
2530
pkgrepo.managed:
2631
{{- format_kwargs(d.pkg.docker.repo) }}
2732
- humanname: {{ grains["os"] }} {{ grains["oscodename"]|capitalize }} Docker Package Repository
2833
- refresh: {{ d.misc.refresh }}
2934
30-
{%- endif %}
35+
{%- endif %}
36+
{%- endif %}

0 commit comments

Comments
 (0)