fix(debian): avoid adding repositories entries multiple times
Entries are being duplicated as described in * https://github.com/saltstack/salt/issues/60220 and * https://github.com/saltstack/salt/issues/59785#issuecomment-826590482
This commit is contained in:
parent
c9380274d4
commit
d1d3e552ad
@ -123,7 +123,9 @@
|
|||||||
'opts': {},
|
'opts': {},
|
||||||
},
|
},
|
||||||
'package': {
|
'package': {
|
||||||
'opts': {},
|
'opts': {
|
||||||
|
'refresh': True,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
'service': {
|
'service': {
|
||||||
'enable': True,
|
'enable': True,
|
||||||
|
@ -20,6 +20,7 @@ include:
|
|||||||
|
|
||||||
passenger_install:
|
passenger_install:
|
||||||
pkg.installed:
|
pkg.installed:
|
||||||
|
{{ sls_block(nginx.package.opts) }}
|
||||||
- name: {{ nginx.lookup.passenger_package }}
|
- name: {{ nginx.lookup.passenger_package }}
|
||||||
- require:
|
- require:
|
||||||
- pkg: nginx_install
|
- pkg: nginx_install
|
||||||
|
@ -25,6 +25,8 @@
|
|||||||
{% set from_phusionpassenger = false %}
|
{% set from_phusionpassenger = false %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- set resource_repo_managed = 'file' if grains.os_family == 'Debian' else 'pkgrepo' %}
|
||||||
|
|
||||||
nginx_install:
|
nginx_install:
|
||||||
pkg.installed:
|
pkg.installed:
|
||||||
{{ sls_block(nginx.package.opts) }}
|
{{ sls_block(nginx.package.opts) }}
|
||||||
@ -47,21 +49,21 @@ nginx_official_repo_keyring:
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
- require_in:
|
- require_in:
|
||||||
- pkgrepo: nginx_official_repo
|
- {{ resource_repo_managed }}: nginx_official_repo
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
nginx_official_repo:
|
nginx_official_repo:
|
||||||
pkgrepo:
|
file:
|
||||||
{%- if from_official %}
|
{%- if from_official %}
|
||||||
- managed
|
- managed
|
||||||
{%- else %}
|
{%- else %}
|
||||||
- absent
|
- absent
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
- humanname: nginx apt repo
|
- name: /etc/apt/sources.list.d/nginx-official-{{ grains.oscodename }}.list
|
||||||
- name: >-
|
- contents: >
|
||||||
deb [signed-by={{ nginx.lookup.package_repo_keyring }}]
|
deb [signed-by={{ nginx.lookup.package_repo_keyring }}]
|
||||||
http://nginx.org/packages/{{ grains.os | lower }}/ {{ grains.oscodename }} nginx
|
http://nginx.org/packages/{{ grains.os | lower }}/ {{ grains.oscodename }} nginx
|
||||||
- file: /etc/apt/sources.list.d/nginx-official-{{ grains.oscodename }}.list
|
|
||||||
- require_in:
|
- require_in:
|
||||||
- pkg: nginx_install
|
- pkg: nginx_install
|
||||||
- watch_in:
|
- watch_in:
|
||||||
@ -98,7 +100,7 @@ nginx_phusionpassenger_repo_keyring:
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
- require_in:
|
- require_in:
|
||||||
- pkgrepo: nginx_phusionpassenger_repo
|
- {{ resource_repo_managed }}: nginx_phusionpassenger_repo
|
||||||
|
|
||||||
# Remove the old repo file
|
# Remove the old repo file
|
||||||
nginx_phusionpassenger_repo_remove:
|
nginx_phusionpassenger_repo_remove:
|
||||||
@ -106,25 +108,25 @@ nginx_phusionpassenger_repo_remove:
|
|||||||
- name: deb http://nginx.org/packages/{{ grains.os |lower }}/ {{ grains.oscodename }} nginx
|
- name: deb http://nginx.org/packages/{{ grains.os |lower }}/ {{ grains.oscodename }} nginx
|
||||||
- keyid: 561F9B9CAC40B2F7
|
- keyid: 561F9B9CAC40B2F7
|
||||||
- require_in:
|
- require_in:
|
||||||
- pkgrepo: nginx_phusionpassenger_repo
|
- {{ resource_repo_managed }}: nginx_phusionpassenger_repo
|
||||||
file.absent:
|
file.absent:
|
||||||
- name: /etc/apt/sources.list.d/nginx-phusionpassenger-{{ grains.oscodename }}.list
|
- name: /etc/apt/sources.list.d/nginx-phusionpassenger-{{ grains.oscodename }}.list
|
||||||
- require_in:
|
- require_in:
|
||||||
- pkgrepo: nginx_phusionpassenger_repo
|
- {{ resource_repo_managed }}: nginx_phusionpassenger_repo
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
nginx_phusionpassenger_repo:
|
nginx_phusionpassenger_repo:
|
||||||
pkgrepo:
|
file:
|
||||||
{%- if from_phusionpassenger %}
|
{%- if from_phusionpassenger %}
|
||||||
- managed
|
- managed
|
||||||
{%- else %}
|
{%- else %}
|
||||||
- absent
|
- absent
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
- humanname: nginx phusionpassenger repo
|
- name: /etc/apt/sources.list.d/phusionpassenger-official-{{ grains.oscodename }}.list
|
||||||
- name: >-
|
- contents: >
|
||||||
deb [signed-by={{ nginx.lookup.passenger_package_repo_keyring }}]
|
deb [signed-by={{ nginx.lookup.passenger_package_repo_keyring }}]
|
||||||
https://oss-binaries.phusionpassenger.com/apt/passenger {{ grains.oscodename }} main
|
https://oss-binaries.phusionpassenger.com/apt/passenger {{ grains.oscodename }} main
|
||||||
- file: /etc/apt/sources.list.d/phusionpassenger-official-{{ grains.oscodename }}.list
|
|
||||||
- require_in:
|
- require_in:
|
||||||
- pkg: nginx_install
|
- pkg: nginx_install
|
||||||
- watch_in:
|
- watch_in:
|
||||||
|
Loading…
Reference in New Issue
Block a user