Compare commits

...

10 Commits

3 changed files with 20 additions and 6 deletions

View File

@ -3,3 +3,10 @@
Ce paquet vise à faciliter lemploi du dépôt communautaire postgresql pour linstallation de pgadmin et de la version 11 de postgresql. Ce paquet vise à faciliter lemploi du dépôt communautaire postgresql pour linstallation de pgadmin et de la version 11 de postgresql.
Il permet dassocier une priorité différente pour les dépôts tiers et installe des scripts issus du paquet supervision-psin qui ne peut pas être installé dans nimporte quel contexte. Il permet dassocier une priorité différente pour les dépôts tiers et installe des scripts issus du paquet supervision-psin qui ne peut pas être installé dans nimporte quel contexte.
## Configuration
Déclaration du dépôt tiers : deb https://apt.postgresql.org/pub/repos/apt bionic-pgdg main
URL de la clé : https://www.postgresql.org/media/keys/ACCC4CF8.asc
Priorité global du dépôt : 400
Paquets exemptés du changement de priorité : python3-flask-security python3-werkzeug

View File

@ -7,6 +7,9 @@
<variables> <variables>
<family name='dépôt tiers'> <family name='dépôt tiers'>
<variable name='additional_repository_set_priority' type='oui/non' description='Configurer des priorités personnalisées pour les dépôts tiers'>
<value>non</value>
</variable>
<variable name='additional_repository_priority_target' type='string' description='Dépôt avec une priorité personnalisée' mandatory='True' multi='True'/> <variable name='additional_repository_priority_target' type='string' description='Dépôt avec une priorité personnalisée' mandatory='True' multi='True'/>
<variable name='additional_repository_global_priority' type='number' description='Priorité globale du dépôt' mandatory='True'> <variable name='additional_repository_global_priority' type='number' description='Priorité globale du dépôt' mandatory='True'>
<value>1500</value> <value>1500</value>
@ -20,10 +23,16 @@
<slave>additional_repository_global_priority</slave> <slave>additional_repository_global_priority</slave>
<slave>additional_repository_exempted_packages</slave> <slave>additional_repository_exempted_packages</slave>
</group> </group>
<condition name='disabled_if_in' source='additional_repository_set_priority'>
<param>non</param>
<target>additional_repository_priority_target</target>
<target>additional_repository_global_priority</target>
<target>additional_repository_exempted_packages</target>
</condition>
</constraints> </constraints>
<help> <help>
<variable name='additional_repository_global_priority'>Une valeur supérieure à 500 (valeur par défaut) rend moins prioritaire les paquets du dépôt, une valeur inférieure, plus prioritaire</variable> <variable name='additional_repository_global_priority'>Une valeur supérieure à 500 (valeur par défaut) rend plus prioritaire les paquets du dépôt, une valeur inférieure, moins prioritaire</variable>
<variable name='additional_repository_exempted_packages'>Liste des paquets séparés par des espaces dont la priorité sera celle par défaut plutôt que celle définie globalement pour le dépôt</variable> <variable name='additional_repository_exempted_packages'>Liste des paquets séparés par des espaces dont la priorité sera celle par défaut plutôt que celle définie globalement pour le dépôt</variable>
</help> </help>

View File

@ -1,17 +1,15 @@
%import re %import re
%def repository_identification(%%repository) %def repository_identification(%%repository)
%set %%repository_re = re.compile(r'^((deb)|(deb-src)) (\[ .* \] )?(((http)|(https)|(ftp)|(ftps))://(?P<url>\S+)) (?P<suite>(\S+))(?P<components>(( \S+)+)?)') %set %%repository_re = re.compile(r'^((deb)|(deb-src)) (\[ .* \] )?(((http)|(https)|(ftp)|(ftps))://(?P<url>\S+)) (?P<suite>(\S+))(?P<components>(( \S+)+)?)')
%set %%elements = %%repository_re.match(%%repository).groupdict() %set %%elements = %%repository_re.match(%%repository).groupdict()
%return 'o={},a={},c={}'.format(%%elements['url'].split('/')[0], %%elements['suite'], %%elements['components'].strip()) %return 'o={},a={},c={}'.format(%%elements['url'].split('/')[0], %%elements['suite'], %%elements['components'].strip())
%return %%repository %return %%repository
%end def %end def
%set %%repositories_detail = {} %set %%repositories_detail = {}
%for %%additional_repository in %%getVar('additional_repository_name') %for %%additional_repository in %%getVar('additional_repository_name')
%silent %%repositories_detail[%%str(%%additional_repository)] = {'source': %%additional_repository.additional_repository_source, 'priority': 500, 'exceptions': []} %silent %%repositories_detail[%%str(%%additional_repository)] = {'source': %%additional_repository.additional_repository_source, 'priority': 500, 'exceptions': []}
%end for %end for
%for %%priority_settings in %%getVar('additional_repository_priority_target') %for %%priority_settings in %%getVar('additional_repository_priority_target', [])
%if %%str(%%priority_settings) in %%repositories_detail %if %%str(%%priority_settings) in %%repositories_detail
%silent %%repositories_detail[%%str(%%priority_settings)]['priority'] = %%priority_settings.additional_repository_global_priority %silent %%repositories_detail[%%str(%%priority_settings)]['priority'] = %%priority_settings.additional_repository_global_priority
%if %%priority_settings.additional_repository_exempted_packages %if %%priority_settings.additional_repository_exempted_packages
@ -19,15 +17,15 @@
%end if %end if
%end if %end if
%end for %end for
%for %%repository in %%repositories_detail %for %%repository in %%repositories_detail
Package: * Package: *
Pin: release %%repository_identification(%%repositories_detail[%%repository]['source']) Pin: release %%repository_identification(%%repositories_detail[%%repository]['source'])
Pin-Priority: %%repositories_detail[%%repository]['priority'] Pin-Priority: %%repositories_detail[%%repository]['priority']
%for %%exception in %%repositories_detail[%%repository]['exceptions'] %for %%exception in %%repositories_detail[%%repository]['exceptions']
Package: %%exception Package: %%exception
Pin: release %%repository_identification(%%repositories_detail[%%repository]['source']) Pin: release %%repository_identification(%%repositories_detail[%%repository]['source'])
Pin-Priority: 500 Pin-Priority: 500
%end for %end for
%end for
%end for