Skip to content

Commit d1d3e55

Browse files
committed
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 c938027 commit d1d3e55

File tree

3 files changed

+18
-13
lines changed

3 files changed

+18
-13
lines changed

nginx/map.jinja

+3-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,9 @@
123123
'opts': {},
124124
},
125125
'package': {
126-
'opts': {},
126+
'opts': {
127+
'refresh': True,
128+
},
127129
},
128130
'service': {
129131
'enable': True,

nginx/passenger.sls

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ include:
2020
2121
passenger_install:
2222
pkg.installed:
23+
{{ sls_block(nginx.package.opts) }}
2324
- name: {{ nginx.lookup.passenger_package }}
2425
- require:
2526
- pkg: nginx_install

nginx/pkg.sls

+14-12
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
{% set from_phusionpassenger = false %}
2626
{%- endif %}
2727
28+
{%- set resource_repo_managed = 'file' if grains.os_family == 'Debian' else 'pkgrepo' %}
29+
2830
nginx_install:
2931
pkg.installed:
3032
{{ sls_block(nginx.package.opts) }}
@@ -47,21 +49,21 @@ nginx_official_repo_keyring:
4749
)
4850
}}
4951
- require_in:
50-
- pkgrepo: nginx_official_repo
52+
- {{ resource_repo_managed }}: nginx_official_repo
5153
{%- endif %}
5254
5355
nginx_official_repo:
54-
pkgrepo:
56+
file:
5557
{%- if from_official %}
5658
- managed
5759
{%- else %}
5860
- absent
5961
{%- endif %}
60-
- humanname: nginx apt repo
61-
- name: >-
62+
- name: /etc/apt/sources.list.d/nginx-official-{{ grains.oscodename }}.list
63+
- contents: >
6264
deb [signed-by={{ nginx.lookup.package_repo_keyring }}]
6365
http://nginx.org/packages/{{ grains.os | lower }}/ {{ grains.oscodename }} nginx
64-
- file: /etc/apt/sources.list.d/nginx-official-{{ grains.oscodename }}.list
66+
6567
- require_in:
6668
- pkg: nginx_install
6769
- watch_in:
@@ -98,33 +100,33 @@ nginx_phusionpassenger_repo_keyring:
98100
)
99101
}}
100102
- require_in:
101-
- pkgrepo: nginx_phusionpassenger_repo
103+
- {{ resource_repo_managed }}: nginx_phusionpassenger_repo
102104
103105
# Remove the old repo file
104106
nginx_phusionpassenger_repo_remove:
105107
pkgrepo.absent:
106108
- name: deb http://nginx.org/packages/{{ grains.os |lower }}/ {{ grains.oscodename }} nginx
107109
- keyid: 561F9B9CAC40B2F7
108110
- require_in:
109-
- pkgrepo: nginx_phusionpassenger_repo
111+
- {{ resource_repo_managed }}: nginx_phusionpassenger_repo
110112
file.absent:
111113
- name: /etc/apt/sources.list.d/nginx-phusionpassenger-{{ grains.oscodename }}.list
112114
- require_in:
113-
- pkgrepo: nginx_phusionpassenger_repo
115+
- {{ resource_repo_managed }}: nginx_phusionpassenger_repo
114116
{%- endif %}
115117
116118
nginx_phusionpassenger_repo:
117-
pkgrepo:
119+
file:
118120
{%- if from_phusionpassenger %}
119121
- managed
120122
{%- else %}
121123
- absent
122124
{%- endif %}
123-
- humanname: nginx phusionpassenger repo
124-
- name: >-
125+
- name: /etc/apt/sources.list.d/phusionpassenger-official-{{ grains.oscodename }}.list
126+
- contents: >
125127
deb [signed-by={{ nginx.lookup.passenger_package_repo_keyring }}]
126128
https://oss-binaries.phusionpassenger.com/apt/passenger {{ grains.oscodename }} main
127-
- file: /etc/apt/sources.list.d/phusionpassenger-official-{{ grains.oscodename }}.list
129+
128130
- require_in:
129131
- pkg: nginx_install
130132
- watch_in:

0 commit comments

Comments
 (0)